ビューティフルコード

ビューティフルコード (THEORY/IN/PRACTICE)

ビューティフルコード (THEORY/IN/PRACTICE)

普段はソート処理、正規表現などの実装を行なうことはあまりないので、読み解くのにそれなりにパワーが必要だった。
印象に残った部分を1つだけ。
〇第4章(ビューティフル・テスト)
・必ずテストを実施しなさい
 長年アルゴリズムの基本問題として君臨する2分探索を実装させると、ほとんどの人がミスを犯す。それを防ぐためにもテストをしなさい、という内容。
 1 スモークテスト(最も基本的な形で使用した場合に通過するテスト)
 2 境界値テスト
 3 さまざまな種類のテスト
 4 実行性能に関するテスト

例(P.92。一部修正)

int mid = (low + high) / 2;
int midVal = a[mid]

この計算は全く問題なさそう。しかしmidが負の値になる恐れがある。*1そう。桁あふれが発生するとエラーになってしまう。このように一見問題なさそうな単純な計算もちゃんとテストを実施しないと痛い目に遭うのだ、と。

著者たちはみんな口をそろえて「ソースコードを書きなさい。」と述べている。これからも書き続けないといけないなぁと改めて実感した。

*1:当然この一部分だけ見ればエラーが発生するかどうかの断定はできない。ソースの前後関係ではエラー発生を考慮する必要がないこともある。詳細はテキストで確認下さい。