2010-12-16 4 views
5

あなたはより良いJavaの構文はどのようなものです:もし(isSomething()== false)の{または(もし!isSomething()){

if (!x) { 
if (x == false) { 

を見ればそれはX優れているように見えますが、

!の
if (!isSomething()) { 
if (isSomething() == false) { 

あなたは簡単に監督できます!

どうすればよいですか?推薦はありますか?

+0

この質問の回答の一部はこの問題に対処しています。 http://programmers.stackexchange.com/questions/12807/make-a-big-deal-out-of-true – Ishtar

答えて

12

隠された3番目のオプションは、変数とメソッドに適切な名前を付けることです。

代わりの

if (!isDisabled()) { 
    ... 
} 

使用

if (isEnabled()) { 
    ... 
} 

またはあなたが否定的に確認したい場合:

boolean disabled = !isEnabled(); 
if (disabled) { 
    ... 
} 

または両方の方法を追加:

boolean isDisabled() { 
    return !isEnabled(); 
} 

編集:この質問が見つかりました:Is it bad to explicitly compare against boolean constants e.g. if (b == false) in Java?

+0

+1関数が返り値が真であるかどうかをチェックするほうが良いです。if(isEnabled()){} – Pietro

7

私はif (!isSomething()) {の表記を使用します。あなたや他の人が読むのが難しい場合は、常に '!'の周りに空白を追加することができます。それが目立つようにするために:その代替が短くかつ簡潔であるのに対し

if (! isSomething()) {又はif (!isSomething()) {さらに

、複数の条件文は、以下の表記

if (isSomething() == false && isSomethingElse() == false && ..)

と圧倒的になることができます。しばらくすると、 '!' "isSomethingElse()"ではなく "isSomething(not)"というステートメントと一緒に使用します。

+0

+1のスペースは "!"トリック、私はこれを行うことについては決して考えませんが、それは役に立つかもしれません:) – LaGrandMere

3

誰もが従うとは思わない。

は、私はすでに if (!x)スタイルを選んだので、私は特に if (!isSomething())スタイル:)

を選ぶだろう、personnally、それをあなたの方法を行います。

+0

一貫性の議論のために+1。 Com'on、LaGrandMere、ほぼ1000;) – VonC

+0

@VonC:ありがとう、終わった、私は最初の1000ポイントを得た: – LaGrandMere

+0

はい、優秀!今すぐあなたが失うことができる場合は "こんにちは!";)、あなたはこのQ&Aサイトの精神にぴったり合っているでしょう(答えはちょうど) – VonC

2
if (!isSomething()) { 

私の意見では最高です。この方法では、文字のカウントダウンを維持しています。コードは読み取り可能で、最初は!が出てくるので、コードをスキミングするだけで、他の人はその意図を見ることができます。

関連する問題