
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
69 lines
1.8 KiB
Plaintext
69 lines
1.8 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Having two paragraphs with the same name in the same section or in no section at all is bad practice. At best, each copy contains the same code, and the redefinition is simply useless, duplicated code. At worst, the paragraphs contain different logic, potentially leading to confusion and unexpected results as a programmer who was aware of the first paragraph definition inadvertently invokes the second. For these reasons, paragraphs with duplicated names should be either removed or renamed.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,cobol]
|
|
----
|
|
LOAD-DATA.
|
|
EXEC SQL
|
|
INSERT INTO EMP (EMPNO, ENAME, DEPTNO)
|
|
VALUES (:EMP-NUMBER, :EMP-NAME, :DEPT-NUMBER)
|
|
END-EXEC.
|
|
|
|
LOAD-DATA.
|
|
IF EMP-NUMBER = ZERO
|
|
MOVE FALSE TO VALID-DATA
|
|
PERFORM GET-EMP-NUM UNTIL VALID-DATA = TRUE
|
|
ELSE
|
|
EXEC SQL DELETE FROM EMP
|
|
WHERE EMPNO = :EMP-NUMBER
|
|
END-EXEC
|
|
ADD 1 TO DELETE-TOTAL.
|
|
END-IF.
|
|
|
|
LOAD-DATA.
|
|
EXEC SQL
|
|
INSERT INTO EMP (EMPNO, ENAME, DEPTNO)
|
|
VALUES (:EMP-NUMBER, :EMP-NAME, :DEPT-NUMBER)
|
|
END-EXEC.
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,cobol]
|
|
----
|
|
LOAD-DATA.
|
|
EXEC SQL
|
|
INSERT INTO EMP (EMPNO, ENAME, DEPTNO)
|
|
VALUES (:EMP-NUMBER, :EMP-NAME, :DEPT-NUMBER)
|
|
END-EXEC.
|
|
|
|
CLEAR-EMP.
|
|
IF EMP-NUMBER = ZERO
|
|
MOVE FALSE TO VALID-DATA
|
|
PERFORM GET-EMP-NUM UNTIL VALID-DATA = TRUE
|
|
ELSE
|
|
EXEC SQL DELETE FROM EMP
|
|
WHERE EMPNO = :EMP-NUMBER
|
|
END-EXEC
|
|
ADD 1 TO DELETE-TOTAL.
|
|
END-IF.
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Rename or remove this copy of XXX
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|