39 lines
868 B
Plaintext
39 lines
868 B
Plaintext
![]() |
The <code>case</code> statement should be used only to clearly define some new branches in the control flow. As soon as a <code>when</code> 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
|
||
|
----
|