9.6 コード品質が私たちを導いてくれる
9.7 明日のベロシティのために今日品質を上げる
内容
「CLEAN」コードはテストのしやすさで測ることができる。
- 凝集性に問題がある場合、あるクラスのテストをたくさん書くことになる。
- 疎結合に問題がある場合、関係ない依存関係がたくさんあることになる。
- カプセル化に問題がある場合、テストが実装に依存していることになる。
- 断定性に問題がある場合、テスト結果がテストオブジェクト以外から得られることになる。
- 冗長性に問題がある場合、あちこちで同じテストを書くことになる。
また、これらの品質は1つを上げるとその他の品質も上がっていく。
ケント・ベックは著書「テスト駆動開発」でコードの重複(冗長性)にだけ気をつければ、全体の品質は上がるとしているし、著者も凝集性にフォーカスするのを好んでいる。
これらはテストで測れるわけだから、テストを書いて進めるテストファースト開発をすることがおすすめ。
学び
- CLEANコードかどうかはテストでわかる。
- フォーカスする品質は1つか2つでも効果がある。
学びを活かすアイディア・行動
- 今のところ特になし