Implementierung von DUTs

Themenpunkte:

  1. Attribute 'qualified_only' und 'strict' bei Enumeration verwenden [++]
  2. Bei Enumeration keinen, nur den ersten oder alle Werte initialisieren [+]

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:

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: