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
}