Implementierung von DUTs
Themenpunkte:
Attribute 'qualified_only' und 'strict' bei Enumeration verwenden
Bei der Definition einer Enumeration verwenden Sie die Attribute {attribute 'qualified_only'} und {attribute 'strict'}.
Static Analysis:
Überprüfen mit Hilfe der folgenden Static Analysis Regeln:
- SA0025: Unqualifizierte Enumerationskonstanten
- SA0171: Enumerationen sollten das Attribut 'strict' haben
Negatives Beispiel:
TYPE E_SignalColor :
(
Red,
Yellow,
Green
);
END_TYPE
Positives Beispiel:
{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_SignalColor :
(
Red,
Yellow,
Green
);
END_TYPE
Bei Enumeration keinen, nur den ersten oder alle Werte initialisieren
Bei einer Enumeration initialisieren Sie keinen der Werte, nur den ersten oder alle Werte mit dem Zuweisungsoperator ':='.
Negatives Beispiel:
// NON COMPLIANT: init none, the first or all enumerators
{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_SignalColor :
(
Red := 0,
Yellow := 1,
Green
);
END_TYPE
Positives Beispiel 1:
// COMPLIANT: no enumerator is initialized
{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_SignalColor :
(
Red,
Yellow,
Green
);
END_TYPE
Positives Beispiel 2:
// COMPLIANT: first enumerator is initialized
{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_SignalColor :
(
Red := 0,
Yellow,
Green
);
END_TYPE
Positives Beispiel 3:
// COMPLIANT: all enumerators are initialized
{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_SignalColor :
(
Red := 0,
Yellow := 1,
Green := 2
);
END_TYPE
Siehe auch: