The switch statement should be used only to clearly define some new branches in the control flow. As soon as a when
clause contains too many statements this highly decreases the readability of the overall control flow statement. In such case, the content of the
when clause should be extracted into a dedicated function.
Noncompliant code example
With the threshold set at 5:
public void foo(Integer value) {
  switch on value {
    when 1 {
      methodCall1('');
      methodCall2('');
      methodCall3('');
      methodCall4('');
      methodCall5('');
    }
    when 2 { /* ... */ }
  }
}
Compliant solution
public void foo(Integer value) {
  switch on value {
    when 1 { doSomething(); }
    when 2 { /* ... */ }
    }
  }
}
private void doSomething() {
  methodCall1('');
  methodCall2('');
  methodCall3('');
  methodCall4('');
  methodCall5('');
}