目次

literal_only_boolean_expressions

リテラルのみで構成されるブール式。

このルールはDart 2.0から利用可能です。

詳細

#

避けるべきです。リテラルのみで構成される条件をテストする必要はありません。値はコンパイル時に推論できます。

常にFALSEになる条件を使用する条件文は、コードブロックを機能しないようにする効果があります。条件が常にtrueしか評価されない場合、条件文は完全に冗長であり、コードの可読性を低下させます。コードがプログラマの意図と一致しない可能性が高いです。条件を削除するか、常にtrueまたはfalseを評価しないように更新する必要があります。

悪い例

dart
void bad() {
  if (true) {} // LINT
}

悪い例

dart
void bad() {
  if (true && 1 != 0) {} // LINT
}

悪い例

dart
void bad() {
  if (1 != 0 && true) {} // LINT
}

悪い例

dart
void bad() {
  if (1 < 0 && true) {} // LINT
}

悪い例

dart
void bad() {
  if (true && false) {} // LINT
}

悪い例

dart
void bad() {
  if (1 != 0) {} // LINT
}

悪い例

dart
void bad() {
  if (true && 1 != 0 || 3 < 4) {} // LINT
}

悪い例

dart
void bad() {
  if (1 != 0 || 3 < 4 && true) {} // LINT
}

注記: 一般的なwhile (true) { }イディオムは、同等のfor (;;)よりも好まれることが多いため、例外として扱われます。

良い例

dart
void good() {
  while (true) {
    // Do stuff.
  }
}

使用方法

#

literal_only_boolean_expressionsルールを有効にするには、analysis_options.yamlファイルのlinter > rulesセクションにliteral_only_boolean_expressionsを追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - literal_only_boolean_expressions