COBOL カスタム規則テンプレートを使用して、COBOL コード・レビュー用のカスタム規則を作成します。
- インライン PERFORM ステートメントは指定した行数制限を超えてはならない
- このテンプレートを使用して、指定した行数を超える行数を含む PERFORM ステートメントにフラグを立てます。 このテンプレートのパラメーターとして行数を入力します。
テンプレートは、PERFORM ステートメントと END PERFORM ステートメントの間の非ブランク行をカウントします。
- 指定したルーチンの呼び出しを避ける
- このテンプレートを使用して、指定したルーチンを呼び出す CALL ステートメントにフラグを立てます。 このテンプレートのパラメーターとしてルーチン名を入力します。
このテンプレートは、CALL ステートメントがルーチンのリテラル名を使用している場合にのみ施行されます。
- 指定したコピーブックが含まれないようにする
- このテンプレートを使用して、指定したコピーブックを参照する COPY ステートメントにフラグを立てます。 このテンプレートのパラメーターとしてコピーブック名を入力します。
- ネストが指定したレベル数より深い IF ステートメントを避ける
- このテンプレートを使用して、指定したレベル数より深くネストする IF ステートメントにフラグを立てます。 このテンプレートのパラメーターとしてネスト・レベル数を入力します。
ネストが、指定した最大数より複数レベル深い場合、このテンプレートは、ネストの最外部の IF ステートメントにのみフラグを立てます。
「ネストされた IF ステートメントの代わりに EVALUATE ステートメントを使用する」規則と比較してください。
- 指定したプログラム名以外の静的呼び出しを避ける
- このテンプレートを使用して、以下の特性を持つ CALL ステートメントにフラグを立てます。
- Java™ 静的メソッドまたは COBOL ファクトリー・メソッドが呼び出される。
- メソッド名が、指定のプログラム名と一致しない。このテンプレートのパラメーターとしてプログラム名を入力します。
- 選択したコンパイラー指示の使用を避ける
- このテンプレートを使用して、選択したコンパイラー指示にフラグを立てます。 フラグを立てるコンパイラー指示 (BASIS、CBL (PROCESS)、COPY、
EJECT、REPLACE、SERVICE LABEL、SERVICE RELOAD、SKIP、および TITLE) を選択します。
- EXEC SQL: 選択したステートメントで WHERE 節を使用する
- このテンプレートを使用して、WHERE 節が含まれていない SELECT、DELETE、または UPDATE ステートメントを含む EXEC SQL ステートメントにフラグを立てます。 フラグを立てるステートメントのタイプ (SELECT、DELETE、
UPDATE) を選択します。
- 指定した命名規則に従った COBOL ファイル名にする
- このテンプレートを使用して、指定した正規表現に一致しないプログラム・ファイル名にフラグを立てます。 このテンプレートのパラメーターとして正規表現を入力します。 比較では、プログラム・ファイル名のファイル拡張子 (ある場合) は無視されます。
例:
- 「prefix」で始まっていないファイル名にフラグを立てる場合は、 ^prefix.*$ と指定します。
- 「prefix」で始まっておらず、整数で終わっていないファイル名にフラグを立てる場合は、 ^prefix.[0-9]$ と指定します。
正規表現は、ターゲット・ファイル名に対して一度だけ一致し、ファイル名の先頭文字で始まり、最終文字で終わる必要があります。 例えば、
AARVLIST.cbl、
AARVUPDT.cbl、
AARVEDIT.cbl などのように、
AARV で始めるファイルの一致を考えます。
最初の例は、AARVLIST、AARVUPDT、AARVEDIT の名前に 1 回だけ一致し、最初の文字から最後の文字まで一致するので、正しいと言えます。2 番目の例は、AARVLIST、AARVUPDT、AARVEDIT の名前に複数回一致し (インデックス 0 とインデックス 1)、最初の文字から最後の文字まで一致しないため、誤った指定です。
- 手続き部のステートメントが指定した行数制限を超えてはならない
- このテンプレートを使用して、指定した行数を超える行数が含まれている手続き部 (PROCEDURE DIVISION) にフラグを立てます。 このテンプレートのパラメーターとして行数を入力します。
テンプレートの処理では、PROCEDURE DIVISION ヘッダーより後の手続き部の非ブランク行をすべてカウントします。
- 指定した COBOL ステートメント・タイプで範囲終了符号句を使用する
- このテンプレートを使用して、指定したタイプの COBOL ステートメントに範囲終了符号句が含まれていない場合にフラグを立てます。 このテンプレートのパラメーターとして COBOL ステートメントのタイプを選択します。
ステートメント・タイプは、CALL、IF、EVALUATE、READ、SEARCH、または STRING です。
- すべてのパラグラフの説明にコメントを使用する
- このテンプレートを使用して、直前または直後にコメントがないパラグラフ宣言にフラグを立てます。 コメントがパラグラフ宣言の前後いずれにあるべきかを選択します。
パラグラフ宣言は、パラグラフを開始するパラグラフ名またはパラグラフ・ヘッダーです。
- すべてのセクションの説明にコメントを使用する
- このテンプレートを使用して、直前または直後にコメントがないセクション・ヘッダーにフラグを立てます。 コメントがセクション・ヘッダーの前後いずれにあるべきかを選択します。
- 指定した接頭部を条件名に使用する
- このテンプレートを使用して、指定した接頭部で始まっていないデータ記述にフラグを立てます。 このテンプレートのパラメーターとして接頭部を入力します。