【要約】【Python入門】体重記録CLIを作ってみた ─ 型ヒント・純粋関数・pytestで学ぶ基礎 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
Java/TypeScript経験者がPythonへ移行する際、言語特有の記法や設計思想の差異に直面する。具体的には以下の問題が発生した。
- ・コメント記法(// vs #)の混同。
- ・isdigit() による数値判定の不備(小数を扱えない)。
- ・ゼロ除算によるプログラムのクラッシュ。
- ・テストコードの期待値設定ミス。
// Approach
学習者は、言語の特性を理解し、テスタビリティを意識した設計を採用した。以下の手法で課題を解決している。
- ・計算ロジックを引数を受け取り値を返す「純粋関数」として分離。
- ・try/except ValueError による堅牢な入力バリデーションの実装。
- ・pytest を用い、正常系・境界値・異常系の3パターンでテストを実施。
- ・__init__.py の配置によるモジュールインポート問題の解決。
// Result
設計の分離により、テストの容易性とコードの可読性が向上した。成果は以下の通りである。
- ・純粋関数の導入により、テストコードを簡潔に記述可能となった。
- ・テスト実行を通じて、実装ミスだけでなくテスト側の期待値ミスも発見できた。
- ・今後はデータの永続化(JSON等)への拡張を目指す。
Senior Engineer Insight
> 設計の基本である「責務の分離」を、言語の壁を越えて実践している点は評価できる。特に、I/Oと純粋関数を分ける設計は、大規模システムのテスト容易性に直結する。ただし、実戦では型ヒントの静的解析(mypy等)の導入が必須だ。また、UI層での早期リターンとロジック層での例外保持を使い分ける判断は、実務的である。