SA0042 : Utilisation de différents chemins d'accès
Détecte l'utilisation de différents chemins d'accès pour la même variable
Justification : Des accès différents à un même élément diminuent la lisibilité et la maintenabilité d'un programme. Nous recommandons l'utilisation régulière de {attribute 'qualified-only'}
pour les bibliothèques, les listes de variables globales et les énumérations. Cela force un accès entièrement qualifié.
Importance : faible
VAR_GLOBAL iTemp:INT; instPOU:POU; END_VAR
FUNCTION_BLOCK POU VAR a:INT; END_VAR
a := INT#1;
PROGRAM SA0042 VAR ptiTemp:POINTER TO INT; sTemp:STRING; END_VAR
ptiTemp := ADR(iTemp); ptiTemp^ := INT#1; iTemp := INT#2; // SA0042 - direct access on variable GVL.iTemp := INT#3; // SA0042 - access on variable via GVL sTemp := CONCAT( 'ab', 'cd'); // SA0042 - direct access on function sTemp := Standard.CONCAT( 'ab', 'cd'); // SA0042 - access on function via Standard instPOU(); // SA0042 - direct access on POU instance GVL.instPOU(); // SA0042 - access via GVL
Sortie dans le messages voir:
SA0042 : Différents chemins d'accès pour 'CONCAT'
SA0042 : Différents chemins d'accès pour 'Standard.CONCAT'
SA0042 : Différents chemins d'accès pour 'instPOU'
SA0042 : Différents chemins d'accès pour 'GVL.instPOU'
SA0042 : Différents chemins d'accès pour 'iTemp'
SA0042 : Différents chemins d'accès pour 'GVL.iTemp'