08/07/03 00:53:15
プログラマの心理とすれば、テストってめんどくさいんだよね。
特に結果が分かりきってる(と自分で思い込んでいる)メソッドのテストコード
をいちいち書くのがね。
で、俺がこの前ミスったのは、Cのコードで
double some_calc(int a, int b) {
return d = a / b * 12.34;
}
みたいな感じの奴。 こんな四則演算なんて間違えようがないだろって高を括ってた。
ちょっとした油断でバグって生まれるんだよなぁ。
上の書き方だと、
some_calc(6, 2) だと問題無いが、
some_calc(2, 6) だと期待した結果にならないわけで。当り前だけど。
正解は、return d = (double)a / (double)b * 12.34;
などとキャストするか、引数をdoubleにしとくべきでした。
と、あらためてユニットテストの重要性を認識したしだい。デグレを起こさないため
にもね。