PL/SQLの例外処理でこんなものを時おり見かける。


EXCEPTION

WHEN OTHERS THEN

RAISE;
END;



当然、より上位の例外処理で適切な処理をするのは大前提なのだが、
こんなコードは書くだけ無駄だ、と見つけるたびにいつも憤る。

ちゃんとこのエラーが発生した箇所でしかできない何かをした上での"RAISE"とはわけが違うのだ。

書いても書かなくても結果が同じなら、
それを敢えて書くのは、無駄なコストがかかるだけで利は何もない。
1箇所だけなら些細な事だが、同じ考え方を積み重ねたら、
その生産性の差は計り知れないものになるだろう。

それにこういう箇所は、「ここは通せないよね」とテストもされない事が多く、
さらに悪い習慣が身に付く事になりがちだ。

開発の生産性は結局プログラムのステップ数とかライン数次第であり、
それが多くなればそれだけ工数も大きくなっていく。

そんなライン数の多さだけで、誇らしげに語られる事があるが、
そもそもその機能を実現する為に、それだけのライン数が本当に必要だったのか?
と言いたくなる場合の方が多い。

書いても書かなくても結果が同じなら、書くな。
直接的には書く手間の無駄であるが、後になって読む時も、
書いてあるからには一度読み取った上で「意味がない」と判断しなければいけない分、
余計な労力を強いられるのである。