2011年7月29日金曜日

テスト駆動開発の利点

前回まで、Google App Engine for Java のAPIを利用するクラスの
テスト駆動開発を試してみました。

あくまで、ここで行った方法は
私なりのやり方です。他の方法で行っている方は沢山いるでしょうし、
異論もあるでしょう。

先に動作確認済みのサンプルコードがある状態から
新しいクラスを作る、という例なので
そのままのやり方で応用できるというわけでもありません。
メソッドの中身をコピーしてくる部分などは、
先に機能の実装が出来ていなければなりませんし、
コンストラクタの引数を先に決めてから定義している部分も
かなり実装のイメージが出来上がっていなければ出来ません
(ここについては、コンストラクタの引数を定義しないでおいて、
必要になってから定義していくやり方もあるのですが、
つい、飛ばしてしまいました)。

しかし、既に定義されている仕様に従ってテストコードを
作成してから、そのテストに通るクラスを実装していくという方法は
有効なものです。

前々回に述べたように、テストコードが実装の指針を示していくので
コードの記述が楽になります。
実装の流れは、
・コンパイルエラーまたはテストの失敗

・エラーの解消

・コンパイルエラーまたはテストの失敗
という繰り返しになっています。
コンパイルエラーが何度も何度も繰り返されるので
まとめてエラーが出ないコードを書けばいい、というのとは違います(間違っているという意味ではありません)。
エラーが次に実装すべきコードを示している、ということです。
コードを頭の中からひねり出す苦労を減らせます。

インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/

0 件のコメント:

コメントを投稿