条件文の真偽判定の書き方は?
こんにちは!アイサット研修担当です。
今回は表題の通り条件文の真偽判定の書き方について書こうと思います!
今回は表題の通り条件文の真偽判定の書き方について書こうと思います!
みなさんはbool型(Boolean)の値の条件文の書き方はどうされていますか?
true判定では例えば
bool flg = true; if(flg){ //処理 }
こんな風に書く方が多いと思います。
if(flg == true){ //処理 }
あまりこうは書かないですよね。
演算子を使って書くパターンは実際ありなのかなしなのか。
実際調べると「〇〇==true」という書き方はナンセンス、というのが大多数のようです。実際比較しているのは真偽値なので必要ないんじゃないか、という点とパフォーマンスに差が出るからでしょうね。実際は誤差にも満たないようなものかとは思いますが。
ただ可読性という面ではありのような気がします。
ではfalse判定の場合どうでしょうか。
if(!flg){ //処理 }
否定演算子を使うパターン。自分はよくこう書きます。すっきりしますよね。
ただ可読性が悪い!エクスクラメーションマークと変数名がごっちゃになりそうです。
じゃあこっちは比較演算子で書いてみてはどうでしょうか。
if(flg == false){ //処理 }
冗長にはなりますが可読性は向上しますね。この書き方もありだと思います。
true判定の時は比較演算子を使わず、false判定の時は比較演算子を使う。という考え方が多いようです。
実際私の大先輩からもこのようなお話をしていただいたことがあります。
否定演算子使っちゃうことも多いですが笑
実際は現場や環境に合わせることになると思うので、お好みで、という感じですかね。元も子もなくてすみません。