こんにちは、id:kano-e です。
日曜日に『テスト駆動開発』が届いたので読んでます。
- 作者: Kent Beck,和田卓人
- 出版社/メーカー: オーム社
- 発売日: 2017/10/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
旧版も持っているのですが、新訳だし、付録もあるし、これは買って読み直したら良いはず!と思って購入。
まだ2章までしか読んでないのですが、前に読んだ時(かれこれ10年くらい前ですが)よりもずっと読みやすい気がしてます。
さすがに10年前のことなので自分の知識や経験の差もだいぶんとあるかと思いますが、やっぱり新訳の力も大きいのかなと思っているところです。
『テスト駆動開発』のまえがきに、
テスト駆動開発は、プログラミング中の不安をコントロールする手法だ。ここでは「不安」を悪い意味で使っているのではない(我々は赤ちゃんではないからね)。「これは困難な問題なので、最初から全てを見通せるわけではない」という真っ当な感覚のことだ。
と書いてあるのは本当にその通りで、「最初から全てを見通せるわけではない」ものを最初から全部やろうとすると、どうしてもうまくいかなくなって途中で止まってしまうんですよね。
困難な問題の中から最初の一手を見つけて(自分の場合、それは大体クラス名やメソッド名を決めて、メソッドを呼び出すだけのテストを書くところからなのだけれど)素早く動きだすと、その中で問題が徐々に姿を表し、気付けば見通せなかった問題が見えるようになってる。TDDをやっていると、その間、ほとんど手が止まることがないのでストレスなくコードが書ける気がします。
手があまり止まらないっていうのは本当で、TDDやってると悩みの粒度がとても細かいので、手を止めて悩む時間があまりないなって思います。
本当にdrivenな感じで、自分で書いたテストに駆動させられて気持ちよく走ってる感じ。
フィードフォース社内では基本的にテストを書く文化がありますが、これを機にみんなで改めてTDDを学びなおすのも楽しいかなーとか読みながら考えてます。
それら学びなおしの内容もいずれはブログ記事になるかもしれませんが、まずは『テスト駆動開発』良いよ!っていう共有だけ。