no-gratuitous-expressions
June 30, 2021 · View on GitHub
If a boolean expression doesn’t change the evaluation of the condition, then it is entirely unnecessary, and can be removed. If it is gratuitous because it does not match the programmer’s intent, then it’s a bug and the expression should be fixed.
Noncompliant Code Example
if (a) {
if (a) { // Noncompliant
doSomething();
}
}
Compliant Solution
if (a) {
if (b) {
doSomething();
}
}
// or
if (a) {
doSomething();
}
See
- MITRE, CWE-571 - Expression is Always True
- MITRE, CWE-570 - Expression is Always False