Statements with no side effects and no change of control flow do not contribute to the functionality of the code and can indicate a programming error.
When writing code, it is important to ensure that each statement serves a purpose and contributes to the overall functionality of the program. When they have no side effects or do not change the control flow, they can either indicate a programming error or be redundant:
The rule does not raise an issue on statements containing only a semicolon (;).
Identify statements that do not contribute to the functionality of the code and verify if they are intended to be part of the logic. If they are, there is a bug to be fixed. If they are not, then they are redundant and should be removed.
function getResult() {
let result = 42;
if (shouldBeZero()) {
result == 0; // Noncompliant: no side effect, was an assignment intended?
}
return result;
}
var msg = "Hello, " "World!"; // Noncompliant; have we forgotten '+' operator on previous line?
function getResult() {
let result = 42;
if (shouldBeZero()) {
result = 0; // Compliant
}
return result;
}
var msg = "Hello, " + "World!"; // Compliant