• 締切済み

if文で・・・

booleanの判定するときのif文の書き方ですが、 (1) if( !flg ) then (2) if( flg != true ) then (3) if( flg == false ) then のどれにしますか?

みんなの回答

  • Gishi
  • ベストアンサー率57% (11/19)
回答No.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 {   // ここに処理を書く  } のように書くべきだ、という記事も載ってました。 しかし、 他の方も書かれているように、 会社などでコーディング規約がある場合は、 それに従ったほうがよいでしょう。

すると、全ての回答が全文表示されます。
回答No.6

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

すると、全ての回答が全文表示されます。
回答No.5

#1の方と同様、 コーディング規約があれば、 それにしたがって記述します。 ただ、個人的な考え方とすると、 条件文は明示的に書きたい(後々のメンテを楽にするため)ので、 (3)にします。 if( flg == FALSE ){ } とか、 if( flg == TRUE ){ } といった具合です。

すると、全ての回答が全文表示されます。
回答No.4

私の場合は boolean isFalse; や boolean isTrue = true; のように宣言して isFalseを使う場合は if( !isFalse ) if( isFalse ) isTrueを使う場合は if( isTrue ) if( !isTrue ) のように見てすぐわかるようにしています

すると、全ての回答が全文表示されます。
  • Ikonos00
  • ベストアンサー率28% (86/302)
回答No.3

訂正です。 if( flg ) thenが選択肢になかったもので…。 #2さんと私も同じで、基本的に!は好きじゃないです。 宣言時flgの初期値をfalse ↓ flgを立てる立てないの条件式 ↓ if( flg ) then ですね。 (1)~(3)で選べといわれたら、(1)です。

すると、全ての回答が全文表示されます。
回答No.2

(3)ですかね。 なんかIFで否定を使うの好きじゃないんで。。 それと、#1の方と一緒で、 規約がある場合は従います。

すると、全ての回答が全文表示されます。
  • Ikonos00
  • ベストアンサー率28% (86/302)
回答No.1

私の場合は、とりあえず、宣言時にflgに初期値を入れといて、(1)ですかね。 もし、仕事で、コーディングのときに、 if文はこう書けって規約があれば、それに従います。

すると、全ての回答が全文表示されます。

関連するQ&A