Skip to main content

SA0076: Falta la constante de enumeración

Determina si cada constante de enumeración se utiliza o no como condición en CASE declaraciones y consultado en un CASE rama.

Justificación: La programación defensiva requiere el procesamiento de todos los valores posibles de una enumeración. Si no se requiere una acción para un valor de enumeración particular, debe agregar un comentario para indicarlo explícitamente. Entonces queda claro para el lector del código que el valor no se olvidó simplemente.

Importancia: Baja

ejemplo 83. Ejemplo
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

Salida en el Mensajes vista:

  • sa_icon_message.png SA0076: Falta la constante de enumeración 'black' en la declaración CASE