SA0076:列挙定数がありません
各列挙定数が条件として使用されるかどうかを決定します。 CASE ステートメントとクエリ CASE 支店。
理論的根拠:防御プログラミングでは、列挙型のすべての可能な値を処理する必要があります。特定の列挙値にアクションが必要ない場合は、コメントで明示的にマークする必要があります。そうすれば、コードの読者には、値が単に忘れられたのではないことが明らかになります。
重要度:低
例 83. 例
TYPE My_Enum :
(
red := 1, blue := 2, green := 3, black := 4
);
END_TYPEPROGRAM PLC_PRG
VAR
iVar : My_Enum;
xTemp : BOOL;
END_VARiVar := My_Enum.black;
CASE iVar OF
My_Enum.red:
xTemp := FALSE;
My_Enum.blue, My_Enum.green:
xTemp := TRUE;
ELSE
xTemp := NOT xTemp;
END_CASE
での出力 メッセージ ビュー:
SA0076: CASE ステートメントに列挙定数 'black' がありません