南極の図書館

ペンギンが寝ていた…。

プログラマーは自分のコードを疑え

若い頃にはよく陥る過ちだと思う。
最近やってしまったので自戒エントリ。


1.テストでバグ発見。
2.共通で使っている様々な計算をするクラスのメソッドから期待した値が戻ってこない。
3.どう考えてもこの(自分以外が作った)メソッドが業務上の例外を考慮してないだろ(履歴を見ると何度も問題があったモンスターメソッドだ)。
4.読み辛いながらも、そのメソッドのバグを探す。
5.どうもバグってないように見えるので、そのメソッドが使っている定数まで疑いだす(どんだけだよ。)
6.よく見たら私が書いたメソッドの呼び出し方が悪かった(結論)


この歳になってこれはないよ。。。
でも「今更やってしまった」と実感できたのは良かった。


今後、バグを見つけたら、自分のコードを徹底的に疑う。


以下余談。
テストのコストが高いのがネックだと感じる。
数秒で終わるUTのコードがあればぐるぐるまわすんだけど、テストコードを作る時間が認められていない。
テストとは、オフショアが手動でやってくれるものだという慣習(かつ、契約)だ。
コーディングとは、設計書と脳内デバッグを駆使して書くもので、そう、えいやっ!と、「コードを書いて、祈る」のだ。


テストがないコードはレガシーコードだ。