literal_only_boolean_表达式
仅由字面量组成的布尔表达式。
此规则从 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_表达式
规则,请在 analysis_options.yaml
文件中的linter > 规则下添加 literal_only_boolean_表达式
analysis_options.yaml
yaml
linter:
rules:
- literal_only_boolean_expressions
除非另有说明,否则本网站上的文档反映了 Dart 3.5.3。页面最后更新于 2024-07-03。 查看源代码 或 报告问题.