このトピックでは、COBOL コード・レビューのカスタム規則テンプレートについて詳しく説明します。
- ユーザー定義ルーチンの CALL を避ける。
- この規則では、プログラム内のすべての CALL ステートメントを検査します。パラメーターがリテラル識別子である場合は、ユーザーが提供したルーチン名と比較します。両者が一致する場合、その CALL ステートメントに違反としてフラグを立てます。
- 指定したコピーブックの使用を避ける。
- この規則では、すべての COPY ステートメントを検査し、提供されたパラメーターとコピーブック名を比較します。両者が一致する場合、その COPY ステートメントに違反としてフラグを立てます。
- COBOL ファイル名は命名規則に従う。
- この規則では、提供されたパラメーターを正規表現として解釈し、それがプログラムのファイル名と一致するかどうかをチェックします。正規表現は、一致が 1 つだけで、ファイル名の先頭文字から最終文字まで一致している必要があります。ファイル拡張子は無視します。正規表現と一致しないプログラム名に違反としてフラグを立てます。
- ファイル名が prefix で始まる命名規則を指定する場合、必要な正規表現は ^prefix.*$ です。
- ファイル名が prefix で始まり、整数の数字で終わる命名規則を指定する場合、必要な正規表現は ^prefix[0-9]*^ です。
- 各種の COBOL ステートメントには END 節が必要。
- この規則では、IF/EVALUATE/READ/SEARCH/STRING の各ステートメントで、ユーザーがオプションにチェック・マークを付けたものを検査します。対応する END 句のないステートメントに違反としてフラグを立てます。
- インライン PERFORM ステートメントはカスタム行数制限を超えてはならない。
- この規則では、それぞれのインライン PERFORM ステートメントを検査し、先頭ステートメントから最終ステートメントまでの行数をカウントします。その行数がカスタム行数制限を超えている場合、その PERFORM ステートメントに違反としてフラグを立てます。
- 手続き部ステートメントはカスタム行数制限を超えてはならない。
- この規則では、すべての PROCEDURE 部を検査し、先頭ステートメントから最終ステートメントまでの行数をカウントします。その行数がカスタム行数制限を超えている場合、その PROCEDURE 部に違反としてフラグを立てます。