38 lines
787 B
Plaintext
38 lines
787 B
Plaintext
The ``++when++`` 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 function.
|
|
|
|
== Noncompliant Code Example
|
|
|
|
With the threshold set at 5:
|
|
|
|
----
|
|
when (myVariable) {
|
|
0 -> {// Noncompliant: 6 lines till next case
|
|
methodCall1("");
|
|
methodCall2("");
|
|
methodCall3("");
|
|
methodCall4("");
|
|
}
|
|
1 -> {
|
|
...
|
|
}
|
|
}
|
|
----
|
|
|
|
== Compliant Solution
|
|
|
|
----
|
|
when (myVariable) {
|
|
0 -> doSomething()
|
|
1 -> {
|
|
...
|
|
}
|
|
}
|
|
...
|
|
fun doSomething() {
|
|
methodCall1("");
|
|
methodCall2("");
|
|
methodCall3("");
|
|
methodCall4("");
|
|
}
|
|
----
|