40 lines
756 B
Plaintext
40 lines
756 B
Plaintext
Nested ``++CASxx++``, ``++DO++``, ``++DOU++``, ``++DOW++``, ``++DOUxx++``, ``++DOWxx++``, ``++FOR++``, ``++IF++``, ``++IFxx++``, ``++MONITOR++`` and ``++SELECT++`` statements is a key ingredient 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 A <> B
|
|
IF B <> C
|
|
DOW B <> A
|
|
IF A <> D
|
|
...
|
|
ENDIF
|
|
ENDDO
|
|
ENDIF
|
|
ENDIF
|
|
----
|
|
|
|
----
|
|
if a <> b;
|
|
if b <> c;
|
|
dow b <> a;
|
|
if a <> d;
|
|
...
|
|
endif;
|
|
enddo;
|
|
endif;
|
|
endif;
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
endif::env-github,rspecator-view[]
|