25 lines
762 B
Plaintext
25 lines
762 B
Plaintext
Nested <code>If</code>, <code>Select</code>, <code>For</code>, <code>For Each</code>, <code>While</code>, <code>Do</code>, and <code>Try</code> statements are key ingredients for making what's known as "Spaghetti code".
|
|
Such code is hard to read, refactor and therefore maintain.
|
|
|
|
== Noncompliant Code Example
|
|
|
|
With the default threshold of 3:
|
|
|
|
----
|
|
If condition1 ' Compliant - depth = 1
|
|
' ...
|
|
If condition2 ' Compliant - depth = 2
|
|
' ...
|
|
For i = 0 to 10 ' Compliant - depth = 3, not exceeding the limit
|
|
' ...
|
|
If condition4 ' Noncompliant - depth = 4
|
|
If condition5 ' Depth = 5, exceeding the limit, but issues are only reported on depth = 4
|
|
' ...
|
|
End If
|
|
Return
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
----
|