ふとソースコードの断片に目が止まり、これが妙に気になって仕方ないことがある。 public int Foo(int i) { // do something wonderful here return x; } 例えば、上記のようなコードの場合、こんなことを考えてしまう。 int型の引数を取っているけど、これは0とかマイナスの場合もあり得るのだろうか?有効な値の範囲は何なのだろう? 引数をいきなり配列の添え字に使っているけど、配列の範囲外だったら誰が何処で例外を捕捉しているのだろう? 引数を2倍して計算しているところが有るけど、もの凄く大きい値が指定されてきたら、ここでオーバーフローしてしまうよ。 ユニットテストは用意されているけど、引数の値のチェック範囲は要件を満たすほどに充分なのだろうか? 戻り値の変数にマジックナンバが使われているけど、呼び出し側でも同じようにマジックナンバで参照して