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_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
Ausgabe unter Ansicht Meldungen:
SA0076: Aufzählungskonstante 'black' fehlt in CASE-Anweisung