Namenskonventionen

In der Registerkarte Namenskonventionen können Sie Namenskonventionen definieren, deren Einhaltung bei der Durchführung der Statischen Analyse berücksichtigt wird. Dabei definieren Sie für die verschiedenen Datentypen von Variablen sowie für unterschiedliche Gültigkeitsbereiche, Bausteintypen und Datentypdeklarationen obligatorische Präfixe. Die Namen aller Objekte, für die eine Konvention vorgegeben werden kann, werden in den Projekteigenschaften als Baumstruktur angezeigt. Die Objekte sind dabei unterhalb von organisatorischen Knoten angeordnet.

Namenskonventionen 1:

Konfiguration der Namenskonventionen

Namen

Knotenpunkte und Elemente, für die ein Präfix definiert werden kann

Die Nummer in Klammern hinter jedem Element, zum Beispiel "PROGRAM (102)", ist die Präfix-Konventionsnummer, die bei einer Nichteinhaltung der Namenskonvention ausgegeben wird.

Präfix

Sie können die Namenskonventionen definieren, indem Sie in dieser Spalte das gewünschte Präfix eingeben.

Bitte beachten Sie dabei die folgenden Hinweise und Möglichkeiten:

  • Mehrere mögliche Präfixe pro Zeile
    • Mehrere Präfixe können Sie kommasepariert eingeben.
    • Beispiel: "x, b" als Präfixe für Variablen vom Datentyp BOOL. Es darf sowohl "x" als auch "b" als Präfix für Boolesche Variablen verwendet werden.
  • Reguläre Ausdrücke
    • Sie können für das Präfix auch reguläre Ausdrücke (RegEx) verwenden. Dazu müssen Sie ein @ voranstellen.
    • Beispiel: "@b[a-dA-D]" als Präfix für Variablen vom Datentyp BOOL. Der Name der Booleschen Variablen muss mit einem "b" beginnen und darf dann noch ein Zeichen im Bereich von "a-dA-D" enthalten.
  • Datentyp-Platzhalter
    • Für Variablen vom Datentyp Alias und für Eigenschaften können Sie den Datentyp-Platzhalter "{datatype}" als Präfix verwenden.
    • Beispiel: Präfix für den Variablen-Datentyp Alias (33) = "{datatype}"

Präfixe für Variablen

Organisatorischer Knotenpunkt für alle Variablen, für die ein von ihrem Datentyp oder Gültigkeitsbereich abhängiges Präfix definiert werden kann

Präfixe für POUs

Organisatorischer Knotenpunkt für alle POU-Typen und Methodengültigkeitsbereiche, für die ein Präfix definiert werden kann

Präfixe für DUTs

Organisatorischer Knotenpunkt für die DUT-Datentypen Struktur, Enumeration, Alias oder Union, für die ein Präfix definiert werden kann

Präfixe für benutzerdefinierte Typen (NC0160)

Verfügbar ab TC3.1 Build 4026

Organisatorischer Knotenpunkt für spezielle benutzerdefinierte Typen, insbesondere solche aus Bibliotheken oder für schreibgeschützte Typen (z.B. PVOID, HRESULT)

  • Sie können die Liste mit Konventionen erweitern: Klicken Sie auf die Leerzeile darunter. Geben Sie dann den Namen eines benutzerdefinierten Typen ein oder wählen Sie einen benutzerdefinierten Typ im Dialog „Eingabehilfe“ aus.
  • Sie können eine Konvention löschen, indem Sie diese selektieren und die Taste [Entf] wählen.

Hinweis: Diese Konventionen haben Vorrang vor den Präfixen, die mit dem Attribut {attribute 'nameprefix' := '<prefix>'} definiert sind.

Beispiel:

  • In der Spalte „Name“ tragen Sie in einer Leerzeile unterhalb der Präfixe für benutzerdefinierte Typen den schreibgeschützten Systemdatentyp „PVOID“ ein. In der gleichen Zeile in der Spalte „Präfix“ tragen Sie den gewünschten Präfix ein, z.B. „p“. Variablen vom Typ PVOID werden bei Ausführung der Statischen Analyse auf dieses Präfix überprüft.
  • Weitere Beispiele für benutzerdefinierte Typen, deren gewünschten Präfix Sie an dieser Stelle konfigurieren können:
    • Systemdatentyp HRESULT
    • Funktionsbaustein TON aus der Bibliothek Tc2_System

 

Namenskonventionen 2:

Bildung des erwarteten Präfixes

Je nach Konfiguration der Optionen, die Sie im Dialog Namenskonventionen (2) finden, wird das Präfix gebildet, das für die verschiedenen Deklarationen erwartet wird.

Auf der Seite Namenskonventionen (2) finden Sie auch Erklärungen dazu, wie das erwartete Präfix gebildet wird, sowie einige Beispiele.

Namenskonventionen 3:

Platzhalter {datatype} bei Alias-Variablen und Eigenschaften

Bitte beachten Sie auch die Möglichkeiten des Platzhalters {datatype}, den Sie für die Präfixdefinition von Alias-Variablen und Eigenschaften verwenden können.

Namenskonventionen 4:

Lokale Präfixdefinition für strukturierte Typen

Für Variablen strukturierter Typen können Sie ein Präfix auch lokal in der Deklaration des Datentyps über das Attribut 'nameprefix' vorschreiben.

Syntax von Konventionsverletzungen im Meldungsfenster

Jede Namenskonvention besitzt eine eindeutige Nummer (in der Konfigurationsansicht der Namenskonventionen in runden Klammern hinter der Konvention dargestellt). Wenn während der Statischen Analyse die Verletzung einer Konvention bzw. einer Vorgabe festgestellt wird, wird die Nummer zusammen mit einer Fehlerbeschreibung gemäß folgender Syntax in der Fehlerliste ausgegeben. Die Abkürzung "NC" weist dabei auf "Naming Convention" hin.

Syntax: "NC<Präfix-Konventionsnummer>: <Konventionsbeschreibung>"

Beispiel für Konventionsnummer 151 (DUTs vom Typ Struktur): "NC0151: Ungültiger Typname 'STR_Sample'. Erwartetes Präfix 'ST_'"

Temporäre Deaktivierung von Namenskonventionen

Es besteht die Möglichkeit, einzelne Konventionen vorübergehend, also für bestimmte Codezeilen, zu deaktivieren. Dazu können Sie ein Pragma oder ein Attribut im Deklarations- oder Implementierungsteil des Codes einfügen. Für Variablen strukturierter Typen können Sie ein Präfix auch lokal über ein Attribut in der Deklaration des Datentyps vorschreiben. Weiterführende Informationen hierzu finden Sie unter Pragmas und Attribute.

 

Übersicht der Namenskonventionen

Eine Übersicht der Namenskonventionen finden Sie unter Namenskonventionen – Übersicht und Beschreibung.