Every paragraph should be commented to explain its goal and how it works. This comment can be placed either just before or just after the paragraph
label. Moreover paragraphs used to close a module can be left uncommented.
Noncompliant code example
PROCEDURE DIVISION.
PARAGRAPH1. *> Noncompliant
...
*-------
PARAGRAPH2. *> Noncompliant; the comment is empty
...
PERFORM P1 THRU P2.
...
*Some comments *> Compliant
P1.
....
P2. *> No violation as the this P2 paragraph close a module
MOVE A TO B.
...
EXIT.
Compliant solution
PROCEDURE DIVISION.
* Some comments
PARAGRAPH1. *> Compliant; the comment is just before
...
PARAGRAPH2. *> Compliant; the comment is just after
* Some comments
...
PERFORM P1 THRU P2.
...
*Some comments
P1.
....
P2.
MOVE A TO B.
...
EXIT.