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 switch
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(); }