SA0025: Unqualifizierte Enumerationskonstanten
Funktion | Ermittelt Aufzählungskonstanten, die nicht mit einem qualifizierten Namen verwendet werden, d.h. ohne dass der Name der Enumeration vorangestellt ist. |
Begründung | Qualifizierte Zugriffe machen den Code besser lesbar und besser wartbar. Ohne das Erzwingen qualifizierter Variablennamen könnte bei Erweiterung des Programms eine weitere Enumeration eingefügt werden, die eine gleichnamige Konstante wie eine bereits existierende Enumeration enthält (siehe im Beispiel unten: “eRed”). Dann käme es zu einem nicht-eindeutigen Zugriff in diesem Codestück. Wir empfehlen in jedem Fall nur Enumerationen zu verwenden, die das {attribute ‘qualified-only’} tragen. |
Wichtigkeit | Mittel |
Beispiel:
Enumeration E_Color:
TYPE E_Color :
(
eRed,
eGreen,
eBlue
);
END_TYPEProgramm MAIN:
PROGRAM MAIN
VAR
eColor : E_Color;
END_VAReColor := E_Color.eGreen; // no error
eColor := eGreen; // => SA0025