Javaでif (b == false)のようなブーリアン定数に対して明示的に比較することは悪いことですか?
2023-08-28 14:23:02
質問
書くのはまずいですか?
if (b == false) //...
while (b != true) //...
それは 常に と書く方がよいでしょう。
if (!b) //...
while (!b) //...
おそらく性能に差はないと思われますが(あるのか?)、両者の明示性、簡潔性、明瞭性、可読性などをどのように比較検討するのでしょうか?
更新
主観を制限するために、どちらが常に望ましいか、またはいつ使うべきかについて、権威あるコーディングスタイルガイドラインからの引用もお願いします。
ノート
: 変数名
b
は単に例として使われるだけで、ala
foo
と
bar
.
どのように解決するのですか?
必ずしも悪いわけではなく、余分なだけです。また、実際の変数名には大きな重みがあります。私は、例えば
if (userIsAllowedToLogin)
よりも
if (b)
あるいはさらに悪いことに
if (flag)
.
パフォーマンスの懸念については、コンパイラがどのような方法でも最適化してくれます。
信頼できるソースについては、私は
Java コード規約
を Sun が元々書いたものですが、少なくとも
チェックスタイル
には
SimplifyBooleanExpression
モジュールがあり、それについて警告を出すでしょう。
関連
-
NullPointerException - java.lang.
-
[解決済み] Javaでbooleanをintに変換する
-
[解決済み] Javaでブール型変数をトグルする最もクリーンな方法?
-
Uncaught ReferenceError: は定義されていません。
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
Server Tomcat v9.0 Server at localhost の起動に失敗しました。
-
[解決済み] Javaで文字列を比較するには?
-
[解決済み] Java の import 文でワイルドカードを使用することは、なぜ悪いのですか?
-
[解決済み】Javaの'boolean'と'Boolean'のデフォルト値について
-
[解決済み】JavaのBooleanとbooleanの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
switch case文のcaseの後の列挙定数は列挙型なし
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。