A ``++switch++`` and a chain of ``++if++``/``++else if++`` statements is evaluated from top to bottom. At most, only one branch will be executed: the first one with a condition that evaluates to ``++true++``. Therefore, duplicating a condition automatically leads to dead code. Usually, this is due to a copy/paste error. At best, it's simply dead code and at worst, it's a bug that is likely to induce further bugs as the code is maintained, and obviously it could lead to unexpected behavior. == Noncompliant Code Example ---- if param == 1 { openWindow() } else if param == 2 { closeWindow() } else if param == 1 { // Noncompliant moveWindowToTheBackground() } switch i { case 1: //... case 3: //... case 1: // Noncompliant //... default: // ... } ---- == Compliant Solution ---- if param == 1 { openWindow() } else if param == 2 { closeWindow() } else if param == 3 { moveWindowToTheBackground() } switch i { case 1: //... case 3: //... default: // ... } ---- include::../see.adoc[] ifdef::env-github,rspecator-view[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]