14. どうプログラミングするのか
14.1. 概要
- これまで私が教わってきた TDD の考え方について紹介します。
14.2. コードの書き方
- プログラムはまず日本語で書けるようにする
- 日本語化する事により、調べやすくなる。
- 何をテストすべきなのかも見えてくる
14.4. TDD(BDD)で必ず書け!
- メインのコードを書く前にテストを書く。 目的はコードの設計
- 関数名の決定( 名前重要 )
- 引数の決定(関数やclassの使い方)
- そのコードの 振る舞い についての決定
14.5. TDD(BDD)で必ず書け!
- テストを先に書くことにより、テストしやすいコードとなる。
- main関数の代わりに unittest.main() で実行する
- 手動でテストしていた事をunittestで 自動実行 が可能となる ⇒ CI
14.6. テストのデメリット
- テストは負債になる事もある
- ソースコードが巨大になると、ソースの根幹に関わる部分を変更した時にテストコード自体も大量に書き直さなければならない時がある
14.7. 不要なテスト
- argparseのような 既存モジュールの動作についてのテストは不要
- 自分で書いたわけではないモジュールの機能はモジュール自体が動作を保障してくれるはず
14.8. テスト用のdummy
- プロセス間通信するプログラム(たとえばネットワークプログラミング等)をテストをする為には mock が必要
14.9. バージョン管理
- ソースコードの管理には バージョン管理ツール が必須。
- これは開発だけではなくサーバのconfig管理やドキュメント管理にも言える事
14.10. バージョン管理
- ソースコード等のプレーンテキストの管理にはPython製で初心者にも使いやすい Mercurial を使おう