Skip to main content

NATURALのスキャンルール

 

Contrast Scanでは、NATURALに対して以下のルールをサポートしています。

深刻度

Contrastルール

エンジンルールID

説明

重大

Avoid Input Using Map Inside Read Find

OPT.NATURAL.NAT_PF.AvoidInputUsingMapInsideReadFind

AvoidInputUsingMapInsideReadFind:ユーザ入力を使用するレコードロックの回避

Avoid Too Complex Routines

OPT.NATURAL.NAT_MAN.AvoidTooComplexRoutines

AvoidTooComplexRoutines:複雑すぎるプログラムの回避(循環的複雑度、異なる実行方法の数)

Only Allowed Copy Codes

OPT.NATURAL.NAT_MAN.OnlyAllowedCopyCodes

OnlyAllowedCopyCodes;使用するコピーコードの制限

Unused Data Area

OPT.NATURAL.NAT_MAN.UnusedDataArea

UnusedDataArea:システム内の未使用のデータ領域(ローカル、グローバル、パラメーター)の回避

Unused Maps

OPT.NATURAL.NAT_MAN.UnusedMaps

UnusedMaps:システム内の未使用のマップ/フォーム宣言の回避

Unused Routines

OPT.NATURAL.NAT_MAN.UnusedRoutines

UnusedRoutines:システム内の未使用のルーチンやプログラムの回避

Avoid D M L Out Of Transaction Context

OPT.NATURAL.NAT_PB.AvoidDMLOutOfTransactionContext

AvoidDMLOutOfTransactionContext:各DML文に対するEND TRANSACTIONの存在のチェック

Avoid Empty None Clause

OPT.NATURAL.NAT_PB.AvoidEmptyNoneClause

AvoidEmptyNoneClause:プログラムのDECIDE ON/FOR文における空のNONE句の回避

Avoid Empty On Error Clause

OPT.NATURAL.NAT_PB.AvoidEmptyOnErrorClause

AvoidEmptyOnErrorClause:ON ERROR句の適切な記述(考えられる全てのエラーを正しく処理するためには、ON ERROR句を空のままにしないことを推奨)

Avoid Stack Usages

OPT.NATURAL.NAT_PB.AvoidStackUsages

AvoidStackUsages:STACK文の使用回避

Avoid Find Sorted By

OPT.NATURAL.NAT_PF.AvoidFindSortedBy

AvoidFindSortedBy:FIND文におけるSORTED BYオプションの使用回避

Use With Limit Clause In Read And Find

OPT.NATURAL.NAT_PF.UseWithLimitClauseInReadAndFind

UseWithLimitClauseInReadAndFind:READおよびFINDで使用するレコード量の制限

情報

Avoid Multiple Sentences In One Line

OPT.NATURAL.NAT_DOC.AvoidMultipleSentencesInOneLine

AvoidMultipleSentencesInOneLine:1つのコード行での複数文の記述の禁止

情報

Avoid Too Large Code Blocks

OPT.NATURAL.NAT_MAN.AvoidTooLargeCodeBlocks

AvoidTooLargeCodeBlock:特定のコード構造(LDA、PDA、プログラム、サブルーチン)での)は、最大行数を超えてはいけない

情報

Remove Commented Code

OPT.NATURAL.NAT_MAN.RemoveCommentedCode

RemoveCommentedCode:コメントアウトされたコードの回避

情報

Program Name

OPT.NATURAL.NAT_NOM.ProgramName

ProgramName;プログラムの命名規則の遵守

情報

Subroutine Name

OPT.NATURAL.NAT_NOM.SubroutineName

SubroutineName:サブルーチンの命名規則の遵守

情報

Variable Name

OPT.NATURAL.NAT_NOM.VariableName

VariableName:変数の命名規則の遵守

情報

Avoid Escape Top

OPT.NATURAL.NAT_PB.AvoidEscapeTop

AvoidEscapeTop:ESCAPE TOP文の使用禁止

情報

Avoid Debugging Write In Online Progs

OPT.NATURAL.NAT_MAN.AvoidDebuggingWriteInOnlineProgs

AvoidDebuggingWriteInOnlineProgs:オンライン処理プログラムにおけるWRITEのデバッグの回避

Avoid Excessive Record Nesting

OPT.NATURAL.NAT_MAN.AvoidExcessiveRecordNesting

AvoidExcessiveRecordNesting:深すぎるネストでの変数宣言(レコード)の回避

Number Of Options In Decide

OPT.NATURAL.NAT_MAN.NumberOfOptionsInDecide

NumberOfOptionsInDecide:DECIDE文のオプション数制限の推奨

Avoid Find Read With Hold

OPT.NATURAL.NAT_PF.AvoidFindReadWithHold

AvoidFindReadWithHold:本文にUPDATE/STORE/DELETE命令が含まれるREAD/FIND文の検出

Avoid Where In Read And Find Statement

OPT.NATURAL.NAT_PF.AvoidWhereInReadAndFindStatement

AvoidWhereInReadAndFindStatement:READとFINDでのWHERE句の回避

Avoid Deep Nesting Branches

OPT.NATURAL.NAT_MAN.AvoidDeepNestingBranches

AvoidDeepNestingBranches:フロー制御文(IF、FOR、REPEAT、DECIDE FOR、DECIDE ON)での深いネストの回避

Avoid Accept Reject If

OPT.NATURAL.NAT_PB.AvoidAcceptRejectIf

AcceptRejectIfを避ける:ACCEPT/REJECT IF文の使用の禁止

Avoid Recursive Calls

OPT.NATURAL.NAT_PB.AvoidRecursiveCalls

AvoidRecursiveCalls:再帰的な呼び出し(同じサブルーチンへのPERFORM、同じプログラム/サブプログラムへのCALLNAT ... RUN)の回避

Avoid Stop Statement

OPT.NATURAL.NAT_PB.AvoidStopStatement

AvoidStopStatement:STOP文を避け、代わりに対応するエラーコードを指定したTERMINATEを使用する

Avoid Terminate Without Error Code

OPT.NATURAL.NAT_PB.AvoidTerminateWithoutErrorCode

AvoidTerminateWithoutErrorCode:対応するエラーコード指定してTERMINATEを記述することを推奨

End Transactions In Program Body

OPT.NATURAL.NAT_PB.EndTransactionsInProgramBody

EndTransactionsInProgramBody:プログラム本体内でのトランザクションの終了(プログラム本体の外にBACKOUTやEND TRANSACTIONを配置しない)

Only One Exit Point

OPT.NATURAL.NAT_PB.OnlyOneExitPoint

OnlyOneExitPoint:コードの出口点(エラーを避けるため、コードの出口を1つだけ指定する)

Avoid Move By Name

OPT.NATURAL.NAT_PF.AvoidMoveByName

AvoidMoveByName: 名前による移動の回避(グループ構造または再定義された変数に基づいての移動を推奨)

Avoid Sort

OPT.NATURAL.NAT_PF.AvoidSort

AvoidSort:SORT文使用の回避