Having all branches of a match
or if
chain with the same implementation indicates a problem.
In the following code:
if (b == 0) { // Noncompliant
doSomething
} else {
doSomething
}
i match { // Noncompliant
case 1 => doSomething
case 2 => doSomething
case 3 => doSomething
case _ => doSomething
}
Either there is a copy-paste error that needs fixing or an unnecessary match
or if
chain that needs removing.
Exceptions
This rule does not apply to if
chains without else
, nor to match
without a case _
alternative.
if (b == 0) {
doSomething
} else if (b == 1) {
doSomething
}