From Chapter 8: Documentation (pp142-143)

Comments should also convey new information:

C     NEXT TWO STATEMENTS TEST FOR XMAX, IF LESSTHAN 10**-8,GO TO 1000
C
      EPSI=1.E-8
      IF(XMAX.LE.EPSO) GO TO 1000

This contains the same boundary error we saw above - the branch on equality is not what the comment says it is. But even if the comment were true, it would be useless. A meaningful comment would explain the reason for the test instead of merely repeating it in words. Avoid empty remarks like

K13 = K13 + 1;   /* INCREMENT COUNTER */
and
C     PRINT VALUE OF VOLTAGE
   50 WRITE(6,60) V
and
ON ENDFILE(SYSIN) GO TO DATA_ERROR; /* TEST END-OF-FILE */
and
N = INDEX(TEXT,';');     /*INDEX OF ; IN STRING TEXT*/
NAME = SUBSTR(TEXT,1,N1-1);  /*SUBSTRING IN TEXT FROM 1 TO N1 MINUS1*/
N2 = LENGTH(NAME);      /*LENGTH OF STRING NAME*/
and
S = S + F * EXP (-(I*B/N)**2/8);
     /* S = S + F * E **(-(I * B/N) SQUARED/8 */
and
ILOOP: DO I = 1 /* BY +1 ASSUMED */ TO 2*N;

Don't just echo the code with comments -
make every comment count.

See also eops-cover.html, eops-rules.html.