The ``++case++`` 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 case clause should be extracted into a dedicated function.

== Noncompliant Code Example

With the threshold set at 5:

----
case myVariable
when 0 then # Noncompliant: 6 lines till next "when"
    methodCall1("")
    methodCall2("")
    methodCall3("")
    methodCall4("")
    methodCall5("")
    methodCall6("")
when 1
   # ...
end
----

== Compliant Solution

----
case myVariable
when 0 then
  doSomething()
when 1
   # ...
end
...
def doSomething()
    methodCall1("")
    methodCall2("")
    methodCall3("")
    methodCall4("")
    methodCall5("")
    methodCall6("")
end
----

ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]
