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