CoreChecklists
COBOL code review checklist
What to look for when reviewing someone's change, or your own.
Data
- Are numeric fields validated before arithmetic?
- Could any MOVE truncate silently? Is ON SIZE ERROR needed?
- Are working-storage fields initialised on every path, especially in called programs?
- Do table loads check the OCCURS bound?
- Do REDEFINES reinterpret data safely?
Logic
- Are scope terminators used instead of relying on full stops?
- Are conditions expressed as 88-levels where it helps readability?
- Is every EVALUATE covered by WHEN OTHER?
- Are paragraphs performed rather than fallen through?
I/O and errors
- Is FILE STATUS checked after every operation?
- Is every SQLCODE handled, including +100?
- Is the error path informative — program, paragraph, key, and the message text?
- Does the program set a meaningful RETURN-CODE?
Operations
- Does it print record counts?
- Does it display the current key periodically, so a failure can be located?
- If it updates, is it restartable? Is there a checkpoint?
- Is the commit frequency a parameter rather than a constant?
Stuck on something else?
Ask the community or search the full course.