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
With a threshold of 5:
switch ($var) {
case 0: // 6 lines till next case
methodCall1();
methodCall2();
methodCall3();
methodCall4();
break;
default:
break;
}
Compliant solution
switch ($var) {
case 0:
doSomething();
break;
default:
break;
}
function doSomething(){
methodCall1("");
methodCall2("");
methodCall3("");
methodCall4("");
}