SA0042:使用不同的访问路径
检测同一变量的不同访问路径的使用情况
理由:对同一元素的不同访问会降低程序的可读性和可维护性。我们建议一致使用 {attribute 'qualified-only'}
用于库、全局变量列表和枚举。这会强制进行完全限定的访问。
重要性:低
例 51. 例子
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
输出在 留言 看法:
SA0042:“CONCAT”的不同访问路径
SA0042:“Standard.CONCAT”的不同访问路径
SA0042:“instPOU”的不同访问路径
SA0042:“GVL.instPOU”的不同访问路径
SA0042:“iTemp”的不同访问路径
SA0042:“GVL.iTemp”的不同访问路径