Skip to main content

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

输出在 留言 看法:

  • sa_icon_message.png SA0042:“CONCAT”的不同访问路径

  • sa_icon_message.png SA0042:“Standard.CONCAT”的不同访问路径

  • sa_icon_message.png SA0042:“instPOU”的不同访问路径

  • sa_icon_message.png SA0042:“GVL.instPOU”的不同访问路径

  • sa_icon_message.png SA0042:“iTemp”的不同访问路径

  • sa_icon_message.png SA0042:“GVL.iTemp”的不同访问路径