The switch statement should be used only to clearly define some new branches in the control flow. As soon as a case
clause contains too many statements this highly decreases the readability of the overall control flow statement. In such case, the content of the
case clause should be extracted into a dedicated method.
Noncompliant code example
The following code snippet illustrates this rule with the default threshold of 5:
switch myVariable {
  case 0: // 6 lines till next case
    methodCall1("")
    methodCall2("")
    methodCall3("")
    methodCall4("")
    methodCall5("")
  case 1:
  ...
}
Compliant solution
switch myVariable {
  case 0:
    doSomething()
  case 1:
  ...
}
...
func doSomething(){
    methodCall1("")
    methodCall2("")
    methodCall3("")
    methodCall4("")
    methodCall5("")
}