Trueとの比較について
Booleanという型は真(True)と偽(False)をあらわす型ですが時々以下のようなコーディングを見かけます。
まず、こんな関数があったとして・・・
Function HogeHoge(n as Integer) As Boolean
If n > 0 Then
Return False
End If
Return True
End Function
こんな使われ方をしている
If HogeHoge(0) = True Then ...
たしかに正しいコーディングなんですが・・・、
ただ、これだと結局は
If True = True Then ...
と解釈されるので
If HogeHoge(0) Then ...
と書いたほうがすっきりします。
このへんの話題って探せばあちこちで議論されていそうなんであまり深くは書きませんが、やっぱり、アセンブラやC言語とかを習得せずにいきなりVBから勉強を始めた人とかはこんなふうに書いてしまっているような気がします。
つーか、うちのプロジェクトはVBとCとPL/SQLの組み合わせでできているのでそのうちそういう人にCで書かせたら同じように組んでしまうんだろうか・・・。
そのときこんな話をしてもキョトンとされるんだろうなぁ。
これもひとつの魔力ですか(笑)
まず、こんな関数があったとして・・・
Function HogeHoge(n as Integer) As Boolean
If n > 0 Then
Return False
End If
Return True
End Function
こんな使われ方をしている
If HogeHoge(0) = True Then ...
たしかに正しいコーディングなんですが・・・、
ただ、これだと結局は
If True = True Then ...
と解釈されるので
If HogeHoge(0) Then ...
と書いたほうがすっきりします。
このへんの話題って探せばあちこちで議論されていそうなんであまり深くは書きませんが、やっぱり、アセンブラやC言語とかを習得せずにいきなりVBから勉強を始めた人とかはこんなふうに書いてしまっているような気がします。
つーか、うちのプロジェクトはVBとCとPL/SQLの組み合わせでできているのでそのうちそういう人にCで書かせたら同じように組んでしまうんだろうか・・・。
そのときこんな話をしてもキョトンとされるんだろうなぁ。
これもひとつの魔力ですか(笑)