== Why is this an issue?

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:

[source,kotlin]
----
when (myVariable) {
  0 -> {// Noncompliant: 6 lines till next case
    methodCall1("");
    methodCall2("");
    methodCall3("");
    methodCall4("");
    }
  1 -> {
    ...
  }
}
----

=== Compliant solution

[source,kotlin]
----
when (myVariable) {
  0 -> doSomething()
  1 -> {
    ...
  }
}
...
fun doSomething() {
    methodCall1("");
    methodCall2("");
    methodCall3("");
    methodCall4("");
}
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Reduce this match case number of lines from {0} to at most {1}, for example by extracting code into methods.


include::../parameters.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
