APL在符合IEC61131-3标准的借鉴了IT的命名法,以Hungary Case(匈牙利命名法)和CamelCase(驼峰命名法)为主,其中Block IN/OUT都采用了Camel Case命名法,静态区使用的是HungaryCase。对于常见的缩写如PV、SP、MV、OS、OP等按照行业习惯采用直接缩写的方式,这些缩写与之后的单词间需要区分时采用下划线,如OS_Perm,PV_ScaleHigh。对IT命名方式有借鉴,但不是迂腐的照搬。
———————————————————————————————————————
IEC61131-3
国际电工组织在IEC61131-3对标签定义的规则
1. 仅允许使用字母、数字以及下划线
2. 字母开头
3. 下划线不允许连用
下面展示一些错误的命名:
1Abc(数字开头) 、 Abc 123(非法符号空格)、A__Bc123(下划线连用)
Camel Case(驼峰命名法)
正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。当变量名或块名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母。前者为小驼峰方式,后者为大驼峰,在APL中如:FbkRunOut,MonDynErr所有首字母都是大写,就是大驼峰的方式。
回顾上面的内容,现在来看看VlvL的接口命名方式,它是符合IEC61131-3以及借鉴的是大驼峰命名法。
由于APL库不是开源的,块是保护的,只能打开STL编辑界面,仅仅能看到输入输出参数,单其实它的内部静态变量和临时变量区则采用了匈牙利命名法。
Hungary case(匈牙利命名法)
基本原则是:变量名=属性+类型+对象描述,在程序源代码中就使用了如:SxRedayToReset的变量命名,其中S是属性来自静态变量区,x是数据类型布尔,ReadyToStart是描述。
有关匈牙利命名法的一点有意思的说明是它的名字的由来。这样的命名技术是由一位能干的 Microsoft程序猿查尔斯·西蒙尼(Charles Simonyi) 提出的,他出生在匈牙利,在 Microsoft公司中和他一起工作的人被教会使用这样的约定。从此这样的命名方式就被叫做匈牙利命名法