else無しのif文

OSPosted by

昔プログラムを書いていてif文のelseを意識しなかったことによりバグを埋め込んだことがありました。他の人が作った仕様書としては確かに「~の場合こうすること」と書かれておりプログラムとしてもエラーが無く、テストも問題が無く、なにも問題ないと考えていました。が、実は「~の場合こうすること」以外に条件があり、後から冷静に考えてみたところelseを意識する事で防げた問題だったのです。

だからといって必ずelseを書いたほうが良いとは言いませんがelseを意識することは非常に大切です。もちろんコーディング規約としてif~elseはこう書くべきがある場合はその規約に順次ますし、わざわざ空のelseを記載することは必要無いと思います。

しかし、else条件の中にelseの場合は何も無いことをコメントとして書くことで後からメンテナンスをする時に見た人が仕様をより早く判断出来るようになると考えます。また、「~でない場合こうすること」といった否定をする仕様の時にif側を「!」とすることでNOTと否定するよりも、else側にのみ記載しif側にコメントを記載たほうが仕様としては分かりやすく可読性が上がる場合もあると思います。

あくまで私の場合ですが経験からif文を書いた場合、elseには何が入るのかを必ず考えるようにしています。そして無駄かもしれませんが、elseが無いと思っても無いということを書くことが大切だと考えています。細かい仕様はプログラムを見るしかないというプロジェクトの場合は特に大切ですね。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA