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.

Noncompliant Code Example

if (b == 0) {  // Noncompliant
     doOneMoreThing()
} else {
     doOneMoreThing()
}

when (i) {  // Noncompliant
    1 -> doSomething()
    2 -> doSomething()
    3 -> doSomething()
    else -> doSomething()
}

Exceptions

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()
}