重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

booleanの判定するときのif文の書き方ですが、

(1) if( !flg ) then
(2) if( flg != true ) then
(3) if( flg == false ) then

のどれにしますか?

A 回答 (7件)

私の場合は、英語で読んで自然になる書き方を選びます。



 if (!flag)
は「if not flag」と読めますが、
これだと意味が通じないので
 if (flag == false)
を選びます。
これなら「if flag is false」と自然に読めます。

 boolean isError;
のような変数名である場合は、
 if (!isError)
「if (it) is not error」を選びます。

英語ネイティブの人が書いた本には、
 boolean noData;
のような変数名である場合、
 if (!noData)
だと「if not no data」と二重否定になってしまうので
 if (noData) {
  // 何もしない
 } else {
  // ここに処理を書く
 }
のように書くべきだ、という記事も載ってました。

しかし、
他の方も書かれているように、
会社などでコーディング規約がある場合は、
それに従ったほうがよいでしょう。
    • good
    • 0

追加で


booleanが真か偽かを判別する能力があるので
flgを利用するのが良いと思います。
命名規則的にはbooleanの名前は
isやhasを使うことが推奨されるという記述もあった
と思うのですがそれはこういうパターンのときに
使うためだと思います。java的なのはやはり(1)だと
思います。
(2)と(3)はC言語などの名残を感じます。
    • good
    • 0

#1の方と同様、


コーディング規約があれば、
それにしたがって記述します。

ただ、個人的な考え方とすると、
条件文は明示的に書きたい(後々のメンテを楽にするため)ので、
(3)にします。
if( flg == FALSE ){
}
とか、
if( flg == TRUE ){
}
といった具合です。
    • good
    • 0

私の場合は


boolean isFalse;

boolean isTrue = true;

のように宣言して
isFalseを使う場合は
if( !isFalse )
if( isFalse )

isTrueを使う場合は
if( isTrue )
if( !isTrue )
のように見てすぐわかるようにしています
    • good
    • 0

訂正です。


if( flg ) thenが選択肢になかったもので…。
#2さんと私も同じで、基本的に!は好きじゃないです。

宣言時flgの初期値をfalse

flgを立てる立てないの条件式

if( flg ) then

ですね。
(1)~(3)で選べといわれたら、(1)です。
    • good
    • 0

(3)ですかね。


なんかIFで否定を使うの好きじゃないんで。。

それと、#1の方と一緒で、
規約がある場合は従います。
    • good
    • 0

私の場合は、とりあえず、宣言時にflgに初期値を入れといて、(1)ですかね。



もし、仕事で、コーディングのときに、
if文はこう書けって規約があれば、それに従います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!