hamburger

主に日記

読書メモ テスト駆動開発

良いコードを書きたいというモチベーションからいろんな技術書を読み進めていくうちに、TDDは避けて通れないことを察して読むことにした

大きく分けて、3つのセクションにわけてテスト駆動開発について説明されている。

1つ目は比較的理解しやすい多国籍通貨を表現するMoneyクラスの機能追加を例に上げ、2つ目はより複雑なテスト用クラス自体に対するテスト、3つ目のセクションがTDDで知られたデザインパターンの説明、になっている。

一番読みやすかった第一セクションが一番印象に残っていて、知識として吸収できた部分も多かったように感じる。

慣れている人にとっては少し過剰に感じるかもしれないが、コードの現在地をTODOリスト形式で表現してくれていて、それを章ごとに一つずつ解消していく流れのため、難しくて手が止まるということもなく読み進められた。

要求に対して何かするときはまず実装を考えるのではなくテストを考える、というマインドセットが全編通じて徹底されていた。また、テストを失敗させることで、まったく手探りの状態から課題を観測可能な状態にする、というステップも納得感があった。

小さいステップで不安を解消しながら完成状態に近づいていくという実装を自分のペースで追体験できたので、読み終えて テストを書くことの心理的なハードルが下がっていることが実感できた。

業務でもフレームワークに依存しないテストを書きやすいところは積極的にテストコードを追加したくなった。お盆明けから早速試してみる。