レガシーコードからの脱却 まとめ – 11

11 プラクティス7 テストでふるまいを明示する

内容

テストによって動くものと動かないものがすぐにわかる。
これは開発の原動力を大きく影響を及ぼす。

ケイパー・ジョーンズは「開発者の時間の半分以上が、過去にやった仕事の手直しに費やされている」と言っている。
例えば、不具合の原因が2箇所による複合的な要因の場合、その原因を特定するのは非常に時間がかかるが、ありえる。
この手直しに時間がかかっていることが、テスト駆動開発を行う理由だ。

マネージャーがテスト駆動開発する時間を持てないというのは、以下のループとなっているためだ。

  1. テスト駆動開発をしていないから、問題の原因の特定に時間がかかる
  2. 問題の原因の特定に時間をかけすぎてるから、テスト駆動開発を学習する時間がとれない

このループになっているのであれば、ここから降りなければならない。

テストは具体的な要件であり、メソッドの使い方を正しくフォーカスすることができる。これは実装を良くするためや、問題をとりのぞくために非常に効果がある。

学び

  • ほとんどの時間を読む時間、調査する時間に費やしているという事実
  • テスト駆動開発をしていないからテスト駆動開発ができないループに入っている場合、なんとかしてそのループを抜け出なければならない

学びを活かすアイディア・行動

  • テストコードの目的のための事前知識整理

kiyoshi.saito@tttsunagari.jp

アプリ開発をメインにWebアプリ開発をやってるフリーランスエンジニアです。

Leave a Reply

Your email address will not be published. Required fields are marked *