內容

僅限常值的布林運算式

僅由常值組成的布林運算式。

此規則從 Dart 2.0 開始提供。

詳細資訊

#

請勿測試僅由常值組成的條件,因為可以在編譯時推斷值。

使用永遠為 FALSE 的條件的條件陳述式,會導致程式碼區塊無法運作。如果條件永遠為 true,則條件陳述式是完全多餘的,並會降低程式碼的可讀性。這很可能表示程式碼不符合程式設計師的意圖。應該移除條件,或者應該更新條件,使其不會總是計算為 truefalse

不良

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