SA0042: Verwendung unterschiedlicher Zugriffspfade

Funktion

Ermittelt die Verwendung unterschiedlicher Zugriffspfade für die gleiche Variable.

Begründung

Unterschiedlicher Zugriff auf das gleiche Element reduziert die Lesbarkeit und Wartbarkeit eines Programms. Wir empfehlen die konsequente Verwendung von {attribute 'qualified-only'} für Bibliotheken, globale Variablenlisten und Enumerationen. Dadurch wird der vollqualifizierte Zugriff erzwungen.

Wichtigkeit

Niedrig

Beispiele:

Im folgenden Beispiel wird SA0042 als Fehler/Warnung ausgegeben, da auf die globale Variable nGlobal einmal direkt und einmal über den GVL-Namensraum zugegriffen wird und da auf die Funktion CONCAT einmal direkt und einmal über den Bibliotheksnamensraum zugegriffen wird.

Globale Variablen:

VAR_GLOBAL
    nGlobal   : INT;
END_VAR

Programm MAIN:

PROGRAM MAIN
VAR
    sVar      : STRING;
END_VAR
nGlobal      := INT#2;                              // => SA0042
GVL.nGlobal  := INT#3;                              // => SA0042
 
sVar := CONCAT('ab', 'cd');                         // => SA0042
sVar := Tc2_Standard.CONCAT('ab', 'cd');            // => SA0042