空のIF文を書きますか?
ちょっと VB界隈(.Net界隈?)で話題らしい。
IF (条件) Then
Else
・・・処理
End IfIF〜Elseには何も処理を書かず、Else〜EndIfに処理を書きます。
このようなコードは許容できますか?
オイラは VB はめったに書かない(つーかメンテだけ)けど、「許容できない」に一票でした。むしろ、なぜ許容できるのか理解不能だよなぁ。Not が読みにくいとか意味わかんねぇ。。。
だって、こういうことでしょ?
if ( is_normal_condition() ) { //正常。何もしない } else { exceptional_operation();//異常。exceptional_operationを実行! }
ぱっと見たとき、if と else のどっちが本処理でどっちが例外か分かんねーじゃんか。。。exceptional じゃなくて、additional でも一緒ね。それに、Not 使うほうがコードが短くなるメリットもあるね。VBだとあんまり短くならないみたいだけど。
if ( !is_normal_condition() ) exceptional_operation();//異常。exceptional_operationを実行!
メソッド名がうまく付くかにもよるけど、条件を反転させることもあるかな。(is_not_hogehoge しか名前を思いつかない場合はやらない)
if ( is_exceptional_condition() ) exceptional_operation();//異常。exceptional_operationを実行!
当たり前だけど、is_exceptional_condition() は is_normal_condition() の真理値を反転させたやつね。
テストコードがある場合に限るけど、条件式って「ド・モルガンの法則」使って単純化したり、うまくくくり出したり、いろいろグリグリいじれて面白い。すっきりまとまると本当に気持ちが良いし。
あとコメントにあったこれもすげーな。
if (abc) return true; else return false; も嫌です。
こんな書き方するやついるんかい。
素直に
return abc;
って書けよw