« 公衆無線LANを使いこなせない。 | メイン | Google AdsenseがRSSフィードに対応! »

ビューティフル・テスト

ちょっと前にオライリーの「ビューティフルコード 」を買ってちびびちと読み進めています。

読み進める、というか目次を見てそのときの気分にあった章を読んでみるという感じですね。なので難しそうなところはまだ読んでなかったりします。

今日読んだのは「ビューティフル・テスト」の章。

タイトルの通り、美しくテストを書く話です。Javaでの2分探索のシンプルなコードに対して、如何にして効果的なJUnitのコードを書くか。

2分探索ってのは、ソートされた配列からある値を探し出すのに、配列の中央値を取得して、探したい値と比較して、探したい値が小さければ探索範囲を配列の半分より前へ、大きければ後ろへ、という手順を繰り返していくアルゴリズム。話だけ聞くと簡単じゃんってもので、本に書かれているコードも非常に分かりやすい。でもそのコードにはバグが含まれていますよ、と。

パズル感覚でしばらく考えてみたんですが、どこにバグが潜んでいるか分からず、先の方を読み進めていくと、あーなるほどと納得。答えが気になる方は、ぜひ本書を読んでみてください。

仕事ではJavaをメインに使っているので、JUnitでテストコード書くのは大事だよと常日頃思っているのですが、うまく作らないとテストコードを作ること自体難しくなってしまうんですね。

本章では、テストコードを作りやすい(つまりテストしやすい)コードを意識して書くことの重要さについても触れられていました。

美しいコードは、テストコードも美しい。

自分の書くコードもそうありたいものです。

ビューティフルコード
Brian Kernighan Jon Bentley まつもとゆきひろ
オライリージャパン
売り上げランキング: 2376