●読書シリーズ
「レガシーコードからの脱却」という技術書を読み進めていきたいと思います。
「テスト駆動開発(TDD)」についての大切さと、その魅力について語られています![]()
正直、最初はここが一番ピンと来なかった![]()
テストコードを書いている余裕なんてない!そう思っているし、
既存コードに、どうやって導入するのかも、正直よく分からない。。。![]()
そのあたりの問題についても、よく書かれています![]()
読んでいくうちに、はっと気が付きました![]()
テストは仕様であり、ふるまいを定義するものであること![]()
テスト可能なコードを書くこと![]()
テスト可能なコードなんて触れてこなかった、もしくは自分が意識していなかったので、
ふるまいも良くわからず、デバッグ&実行でようやく見えていた・・・
そんなことを繰り返すうちに、テスト駆動開発とは縁のない開発をしてきたわけです![]()
そりゃ、ピンと来ないわ![]()
テスト可能なコードを意識するということは、ふるまいを意識するということなので、
以前の記事で述べた、誰のために、何の目的で~という意識にも繋がるわけですね![]()
↓
なるほど・・・
また、テストコードを書く手順として、
「レッド/グリーン/リファクタ」と著者は言っています![]()
まずは、失敗例のコードを書いて「レッド」、ちゃんと失敗することを確認する![]()
次に、必要最小限の成功例のコードを書いて「グリーン」、成功することを確認する![]()
そして、コード品質を上げる作業として「リファクタ」をすることで、リファクタリング作業も容易にできる![]()
これを繰り返すことが、テスト駆動開発では、重要だと言っています![]()
すごく納得、理解できた![]()

