literal_only_boolean_expressions
僅由字面量組成的布林表示式。
詳情
#不要測試僅由字面量組成的條件,因為其值可以在編譯時推斷。
使用條件始終為 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如果您使用 YAML 對映語法配置 linter 規則,請在 linter > rules 下新增 literal_only_boolean_expressions: true
analysis_options.yaml
yaml
linter:
rules:
literal_only_boolean_expressions: true