Having all branches in a when 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 when/if chain at all.
if (b == 0) { // Noncompliant
doOneMoreThing()
} else {
doOneMoreThing()
}
when (i) { // Noncompliant
1 -> doSomething()
2 -> doSomething()
3 -> doSomething()
else -> doSomething()
}
This rule does not apply to if chains without else-s, or to when-es without else clauses.
if (b == 0) {
doOneMoreThing()
} else if (b == 1) {
doOneMoreThing()
}