Having all branches in a switch
or if
chain with the same implementation is an error. Either a copy-paste error was made
and something different should be executed, or there shouldn’t be a switch
/if
chain at all.
Noncompliant Code Example
if b == 0 { // Noncompliant
doOneMoreThing()
} else {
doOneMoreThing()
}
switch i { // Noncompliant
case 1:
doSomething()
case 2:
doSomething()
case 3:
doSomething()
default:
doSomething()
}
Exceptions
This rule does not apply to if
chains without else
-s, or to switch
-es without default
clauses.
if b == 0 { //no issue, this could have been done on purpose to make the code more readable
doSomething()
} else if b == 1 {
doSomething()
}