SA0076: Fehlende Aufzählungskonstante
Ermittelt, ob in CASE-Anweisungen jede Enumerationskonstante als Bedingung verwendet und in einem CASE-Zweige abgefragt wird.
Begründung: Defensive Programmierung erfordert die Bearbeitung aller möglichen Werte einer Enumeration. Wenn für einen bestimmten Enumerationswert keine Aktion nötig ist, dann sollten Sie dies explizit durch einen Kommentar kennzeichnen. Dem Leser des Codes ist dann klar, dass der Wert nicht einfach vergessen wurde.
Wichtigkeit: Niedrig
Beispiel 83. Beispiel
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
Ausgabe unter Ansicht Meldungen:
SA0076: Aufzählungskonstante 'black' fehlt in CASE-Anweisung