检测枚举变量是否被用作条件,并非所有枚举值都被视为CASE
分支
理由防御性编程要求处理枚举的所有可能值。如果某个枚举值不需要操作,则应添加注释明确说明。这样,代码的读者就可以清楚地知道,这个值并不是被简单地遗忘了。
重要性:低
示例
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: Missing enumeration constant 'black' in CASE statement