oxc/const-comparisons 正确性
规则作用
检查冗余或逻辑上不可能的比较。包括:
- 对常量的无效双重比较。
- 涉及常量的不可能比较。
- 两个操作数相同的冗余比较(例如,a < a)。
为什么不好?
此类比较可能导致程序中令人困惑或不正确的逻辑。在许多情况下:
- 只有一个比较对结果有影响,表明程序员可能犯了错误,例如翻转了比较运算符或使用了错误的变量。
- 像 a < a 或 a >= a 这样的比较总是为 false 或 true,使逻辑冗余且可能具有误导性。
示例
此规则的错误代码示例:
javascript
status_code <= 400 && status_code > 500;
status_code < 200 && status_code <= 299;
status_code > 500 && status_code >= 500;
a < a; // 总是 false
a >= a; // 总是 true此规则的正确代码示例:
javascript
status_code >= 400 && status_code < 500;
500 <= status_code && 600 > status_code;
500 <= status_code && status_code <= 600;
a < b;
a <= b;如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"rules": {
"oxc/const-comparisons": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"oxc/const-comparisons": "error",
},
});bash
oxlint --deny oxc/const-comparisons版本
此规则添加于 v0.0.22。