oxc/const-comparisons 正しさ
何をするのか
定数との冗長または論理的に不可能な比較をチェックします。これには以下が含まれます:
- 定数に対する無効な二重比較。
- 定数を含む不可能な比較。
- 両方のオペランドが同じ場合の冗長な比較(例:
a < a)。
なぜ悪いのか
このような比較は、プログラム内の論理に混乱や誤りをもたらす可能性があります。多くの場合:
- 比較のうち片方しか結果に影響を与えないため、プログラマが比較演算子を逆にしたり、誤った変数を使用した可能性があることを示唆しています。
a < aやa >= aといった比較はそれぞれ常に偽または真になるため、論理が冗長であり、誤解を招く可能性があります。
例
このルールに関して 不適切 なコードの例:
javascript
status_code <= 400 && status_code > 500;
status_code < 200 && status_code <= 299;
status_code > 500 && status_code >= 500;
a < a; // 常に偽
a >= a; // 常に真このルールに関して 適切 なコードの例:
javascript
status_code >= 400 && status_code < 500;
500 <= status_code && 600 > status_code;
500 <= status_code && status_code <= 600;
a < b;
a <= b;使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のように使用できます:
json
{
"rules": {
"oxc/const-comparisons": "error"
}
}bash
oxlint --deny oxc/const-comparisons