Skip to main content

SA0076: 缺少枚举常量

确定每个枚举常量是否用作条件 CASE 语句并在 a 中查询 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

输出在 留言 看法:

  • sa_icon_message.png SA0076:CASE 语句中缺少枚举常量“black”