midnight in a perfect world

webエンジニアのメモ

テスト駆動開発」を読む。

名著と名高い本書だが、若干読むのが早すぎた感じがある。今の所自分が担当するシステムでテストに関わるのはRSpecとかrubocopくらいなのだが、日常的に書く訳でもない。またサンプルコードがjavapythonでそれほど馴染みがなかったこともあって、コードレベルでの理解はやや追い付かない部分があった。

ただ、コードを書く上での著者の思考の流れを追体験するような感覚で読めたのは面白かった。「todoリスト作ってみる」とか「とりあえず動かしてみる。その後きれいにする」とか「うまくテストが通らなければ歩幅を小さくして進める」とか「superを使って別々のテストに共通する重複を排除する」とか「いったんコーヒーでも飲んで落ち着こう」みたいな感じでかなりリアルで共感できて、なるほど、確かに似たようなことは自分でもやってるよなと思ったし学びや自信になった。

後半になるとリファクタの仕方とかもう少しレイヤが上がって設計に関する話がメインになるのだが、同僚とか身内ネタなどを交えつつ筆致が軽くてわりかし読みやすくて面白いのも良い。最後に訳者の和田卓人氏による現代(2017年)においてのテスト駆動開発の現状について述べられているのも良かった。現実主義的VS教条主義的な派閥争いとかTDDをさらに進化させるような技法が出てきていたりといった内容で、時間なければここだけ読むのでも効果はあるように思える。