最近、いろいろ思うことがあって
テスト駆動開発始めました
VS2008Pro 以上に、標準でくっついている奴を使ってます。
で、上記の「いろいろ思うこと」と「やってみた感想」を以下にまとめます。
やってみて思ったことを以下にまとめます。
1.OOP に最適である
問題個所を特定するためにステップ実行してみた時、こんな経験はありませんか?
・多くのクラスを行き来していて混乱してしまった
・問題個所が見つかったが、大量のコードエディタが開いていて、どれだけわからなくなった
・大量に開いてしまったコードエディタを閉じるのが大変
オブジェクト単位で開発するのだから、オブジェクト単位でデバッグしたい訳で、そう考えれば自ずとテスト駆動開発が適しているように思います。
2.コードを書く量が増える
テストコードを書く必要があるため、コードを書く量が増えます。
慣れないうちは、テストコードを書くための手間や時間が惜しく感じることもあるかもしれません。
しかし、我々が普段開発しているものに比べれば、テストのパターンなんて限られていると思います。
恐らく、最終的には似通ったコードを量産するという感覚に近くなると思われます
3.オブジェクトの仕様が明確になる
テストによって、どのような目的のオブジェクトで、どのような結果を欲しているのかが明確になります。
これは、実装を記述する時の無駄を省くとともに、オブジェクトを使用する側から見てもわかりやすい設計に仕上がりやすくなります。
テスト駆動開発は、僕が .NET で開発を始めたばかりの頃から知っていたのですが、今になって、もっと早くに導入していれば良かったと後悔しています。
皆さんも、これを機会に是非テスト駆動開発を試してみては如何でしょうか?
今目の前で作っているクラスから、少しずつ初めて見ると良いですよ。