TDDの利点。
Advantages of Test-Driven Development | Agile Pain Reliefという記事より。
TDDの利点
- はじめにテストを書くことで、どのようなコードを書きたいかを真剣に検討できる。
- すぐにフィードバックを得られる。
- 詳細な仕様を作成できる。
- 手戻りにかかる時間を削減できる。
- 問題点を絞り込みやすく、デバッガに掛ける時間を短縮できる。
- ついさっき変更(もしくはリファクタリング)した部分が、既存のコードを壊したか否かがわかる。
- 課題に対し、徐々に進化し、適応しながら設計することができる。
- シンプルにできる。
- コードを根本的にシンプルに書けるようになる。テストを通るコードしか書かなくてもよい。
- 一つの責務を負った小さいクラスを書けるようになる。
- 疎結合のコードを書く助けになる。
- SOLIDコードが書けるようになる。
- ユニットテストの結果はシンプルで、コードのドキュメントとしても役立つ。
- 以下の効果により、品質向上とバグ削減に役立つ:
- 目的(やコードの仕様)について検討するようになる。
- コードをシンプルに書けるようになる。複雑性はバグの温床。
- 変更したコードや新しいコードが、既存のコードを壊していないことを保障できる。
TDD欠点
TDDは習得が難しい。2〜4ヶ月間は、生産性が低下するだろう。
他
関連記事もいくつも挙げられているのも、なかなか面白そうです。