CodeQL 文档

常量条件

ID: cs/constant-condition
Kind: problem
Security severity: 
Severity: warning
Precision: very-high
Tags:
   - maintainability
   - readability
   - external/cwe/cwe-835
Query suites:
   - csharp-security-and-quality.qls

点击查看 CodeQL 存储库中的查询

始终计算结果为 true 或始终计算结果为 false 的条件可以删除,从而简化程序逻辑。如果条件是循环条件,请考虑使用有界迭代重写循环(例如,foreach 循环),如果可能的话。

建议

尽可能避免使用常量条件,并消除这些条件或替换它们。

示例

在以下示例中,条件 a > a 始终为假,因此 Max(x, y) 始终返回 x

class Bad
{
    public int Max(int a, int b)
    {
        return a > a ? a : b;
    }
}

修改后的示例将条件替换为 a > b

class Good
{
    public int Max(int a, int b)
    {
        return a > b ? a : b;
    }
}
  • ©GitHub 公司
  • 条款
  • 隐私