2023-10-27 –, track 5
Pythonを使ってプログラミングを学び、いろいろなものを作る方が増えています。
機械学習、Webプログラミング、組み込み分野などPythonの対応範囲は広く、多くのユーザーに受け入れられ、広まっていきました。
一方、チームで開発する際のPythonの活用・書き方についてはまだまだ課題があるように思います。
実際の業務では多くのメンバーと開発する関係から、一人で書いているとき以上に気をつけなければいけないポイントがありますが、残念ながらそのテクニックは浸透していません。
本セッションではホビープログラミングからPythonを始め、業務で多くの開発経験をするにつれて見つけてきたプラクティスや、アンチパターンについて紹介し、更に他の動的型付け言語にも共通するであろうトピックにも広げてお話します。
対象聴衆はPython及び動的型付け言語の開発の経験が浅い方です。
本セッションでは筆者が実際に失敗してきた経験や、世間でのPythonに対する評価、課題点の整理から始めます。
世間ではPythonをスクリプトやインタラクティブな実行環境の身で実行しており、そのようなユーザーがチーム開発に入っていくことは屋やハードルが高いと考えています。
筆者はこの問題について、国内外問わず、初学者のユーザーが対面する問題であると考えています。
また筆者は8年ほどPythonを書いていますが、ホビープログラミングないし個人で開発していたときと、チームで開発しているときで意識しなければいけない書き方が多く存在すると感じています。
本発表はPython経験が薄かったり、個人での開発経験しかない方に対してチームで開発する知識や情報を聴衆に持って帰っていただくことを目的としています。
発表概要は15分に合わせて下記に修正しています。
元々30分で話す予定だったものに関しては懇親会や個人的にご連絡いただければと思います。
- 自己紹介と概要(1分)
- Python学習者を取り巻く環境(3分)
- 様々な開発環境
- 独習で陥りがちな落とし穴
- 業務開発でやるべきこと(5分)
- そもそも業務で Python を使うべき?
- 業務での開発には何が求められているか
- 揃えたいツール類(仮想環境・パッケージ管理・Linter・Formatter・テストフレームワーク)
- 補助で入れたいツール類(エディタ・ログ管理・APIドキュメント・ロードテストツール・セキュリティテストツール・APMツール)
- 4年 Python を業務で使って感じたメリット・デメリット
- インデントの良しあし
- 型との闘い
- 設計の話は他言語から学べることも多い
- まとめ(1分)
下記はもともと30分で予定していた発表内容でした。
- Python学習者を取り巻く環境(5分)
- 様々な開発環境
- 個人で作れるものの世界
- 独習で陥りがちな落とし穴
- チーム開発と個人開発(15分)
- 書くべきでない言語的な罠
- 破壊的な動き
- Pythonは同じように書くのが難しいのでは…?
- 動的型付け言語全体に言える課題
- 型情報をなるべく入れよう
- テストコードを書こう
- Linter, Formatterを入れよう
- CIでもチェックする
- コードレビューをしよう
- なぜ我々はチームでPythonを書くのか(5分)
- 多くの人が触れる強みと弱み
- 動的型付け言語の楽さとスピード
- まとめ(2分)
- 質疑応答(5分)
I love conference. I love software technology. I love Python.
- Python Engineer
- Agile Developer