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()
}
switch i { // Noncompliant
case 1:
doSomething()
case 2:
doSomething()
case 3:
doSomething()
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()
}