SA0076: Costante di enumerazione mancante
Determina se ciascuna costante di enumerazione viene utilizzata o meno come condizione in CASE
dichiarazioni e interrogato in a CASE
ramo.
Motivazione: la programmazione difensiva richiede la gestione di tutti i possibili valori di un'enumerazione. Se non è richiesta alcuna azione per un valore di enumerazione specifico, contrassegnarlo esplicitamente con un commento. È quindi chiaro al lettore del codice che il valore non è stato semplicemente dimenticato.
Importanza: Bassa
Esempio 83. Esempio
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
Uscita in Messaggi vista:
SA0076: Costante di enumerazione 'black' mancante nell'istruzione CASE