Having all branches of a switch or if chain with the same implementation indicates a problem.
In the following code:
if (b == 0) { // Noncompliant
doOneMoreThing();
} else {
doOneMoreThing();
}
int b = a > 12 ? 4 : 4; // Noncompliant
switch (i) { // Noncompliant
case 1:
doSomething();
break;
case 2:
doSomething();
break;
case 3:
doSomething();
break;
default:
doSomething();
}
Either there is a copy-paste error that needs fixing or an unnecessary switch or if chain that needs removing.
This rule does not apply to if chains without else, nor to witch without a default clause.
if(b == 0) { //no issue, this could have been done on purpose to make the code more readable
doSomething();
} else if(b == 1) {
doSomething();
}