The ``++Select++`` 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 ``++Case++`` clause should be extracted in a dedicated sub or function.

== Noncompliant Code Example

[source,vb6]
----
Select Case number
    Case 1 To 5
        Debug.WriteLine("Between 1 and 5, inclusive")
    Case 6, 7, 8
        Debug.WriteLine("Between 6 and 8, inclusive")
    Case 9 To 10                 'Noncompliant, too many nested statements
        doSomething1()
        doSomething2()
        doSomething3()
        ...
        doSomethingN()
    Case Else
        Debug.WriteLine("Not between 1 and 10, inclusive")
End Select
----

== Compliant Solution

[source,vb6]
----
Select Case number
    Case 1 To 5
        Debug.WriteLine("Between 1 and 5, inclusive")
    Case 6, 7, 8
        Debug.WriteLine("Between 6 and 8, inclusive")
    Case 9 To 10
        doSomething1toN()
    Case Else
        Debug.WriteLine("Not between 1 and 10, inclusive")
End Select
----

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

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

include::../message.adoc[]

include::../parameters.adoc[]

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

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