== Why is this an issue?

The ``++Select...Case++`` 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 procedure.

=== Noncompliant code example

With the default threshold of 3:

[source,vbnet]
----
Select Case number
    Case 1 To 5 ' Noncompliant: 4 statements in the case
        MethodCall1("")
        MethodCall2("")
        MethodCall3("")
        MethodCall4("")
    Case Else
        ' ...
End Select
----

=== Compliant solution

[source,vbnet]
----
Select Case number
    Case 1 To 5
        DoSomething()
    Case Else
        ' ...
End Select
...
Sub DoSomething()
    MethodCall1("")
    MethodCall2("")
    MethodCall3("")
    MethodCall4("")
End Sub
----

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

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

include::../message.adoc[]

=== Parameters

.max
****
_Integer_

----
8
----

Maximum number of lines of code
****


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

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

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