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
除非另有说明,否则本网站上的文档反映的是 Dart 3.6.0。页面上次更新于 2024-07-03。查看源代码或报告问题。