HASEBA Junya
「関数の戻り値が期待と違ってデバッグに時間を費やした」「引数にNoneが渡ってエラーになった」「リファクタリングが怖くて手を付けられない」など、Pythonの柔軟性が裏目に出て、コードの堅牢性が損なわれるケースは少なくありません。これらの問題は、動的型付け言語であるPythonの特性から来るものですが、実は契約プログラミングの考え方を取り入れることで、これらの課題を大幅に軽減することが可能です。
本セッションでは、バグの原因特定に時間を費やしているPython初心者〜中級者、コードレビューで関数の前提条件に悩むチームメンバー、より堅牢なコードを書きたいがアプローチが分からない方に向けて、「明日から使える実践的手法」から「高度なライブラリ活用」までの段階的な契約プログラミング導入法をお伝えします。
他言語での契約プログラミングと比較しながら、Pythonらしい実装方法を4段階で紹介します。「完璧を求めず、重要な部分から少しずつ」というメッセージを込めつつ、現実的な導入アプローチを提示し、デバッグ効率の向上、コードの意図の明確化、安全なリファクタリングの実現を手助けします。
同じ苦労を味わうPythonistaを一人でも減らし、より良いPythonコードを書く喜びを共有したいという想いを込めて、契約プログラミングの第一歩を踏み出すきっかけを提供します。
聞いてくれた方に「自分のプログラムにも少しずつ契約プログラミングを取り入れてみたい」と思ってもらうことをゴールに、以下の構成で発表を行う予定です。
プロフィール
PythonとClojureをこよなく愛するAndroidエンジニアです。サークル「Thunder Claw」で技術同人誌を書いています。クイズマジックアカデミーでは「ちーぽんせんてん」、雀魂では「シアンフロこ」で活動中です。埼玉西武ライオンズとU-NEXT Piratesを応援しています。