分享

ApeML代码书写规范

 shelia 2006-02-20
ApeML代码书写规范 修订版
适用 模拟精灵2005 v4.50 以上版本
1.必须区分大小写
无论在模拟精灵的任何地方书写代码或者调整参数,必须区分大小写。

2.标识符第一个字符必须是字母或者下划线
所有标识符(变量名字、函数名、ApeML节点名字)第一个字符必须是字母或者下划线(也就是说不能是数字),
如果标识符由多个单词组成,除第一个单词小写以外,其他的单词第一个字母大写。

全局变量以下划线作为第一个字符,普通变量第一个字符小写
全局常量以下划线开始并全部大写,普通常量大写。
函数名第一个字符小写,用户自定义函数名第一个字符不能为下划线(第一个字符为下划线的函数为系统内置函数)

3.变量名尽可能的用简洁清晰的命名
所有变量名尽可能的用简洁清晰的命名,
简洁指的是可以缩写的单词使用最短的缩写,清晰指的是可以考虑用多个单词清晰的表达变量的意义

4.优先使用标准变量名
在没有变量名冲突的情况下,应优先选用标准变量名。
模块对象,标准变量名使用 m,m2等
image对象, 标准变量名使用 img,img2等
color对象,标准变量名使用 cl,cl2等
web对象,标准变量名使用 wb,wb2等
循环、迭代、索引等标准变量名使用 i,j等

5.正确的代码分行
不要在一行写太长的代码。适当的使用换行符号(分号; 可以忽略)
LAScript中,不允许连续的写两个换行符号,如:;; 两个分号写在一起,在其他编程语言中是正确的,可是在LAScript中是错误的

6.回调函数以LAScript:作为开始标记(可以忽略)
如:失败="LAScript:return _CMD_LOOP "

7.合理的使用括号、空格

一、合理使用括号
在算术运行中必要的时候应当使用括号表示运算的先后顺序,如果多层嵌套括号最外层括号应间隔两个空格

如 a + b + c * 2 + 1这样的代码是不被推荐的,
你应当用括号显示的表示运算的先后顺序; 如(  (a + b) + (c * 2)  ) + 1;

下面的代码是不被推荐的
if a == 1 then
   a = 2;
end;

标准的格式应当加上括号写成这样:
if( a == 1)then
   a = 2;
end;

二、合理使用空格
普通的操作符与变量应当用空格分开.
括号前面以及后面的空格可酌情省略,如果有多层括号嵌套,外层括号包含的空格数应大于内层括号的空格数以表示层次
通常,最外层括号内侧应包含两个空格,最外层括号外侧不包含空格,最内层括号内侧不包含空格

例如 if (( a==b )and(b==c)) then b=1+2 end; 这样的书写格式是不被推荐的。

错误一:a==b 操作符==与变量a、b没有用空格分开,应当写成 a == b
错误二: ( a==b ) 最内层括号内侧不应当包含空格,应当写成 (a == b)
错误三: 最外层括号内侧应当包含两个空间,外侧不应当有空格,正确的写法应当是:
if( (a == b) and (b == c) )then  b = 1 + 2; end;



8.代码格式应正确反映逻辑结构和嵌套
标准嵌套块应缩进一个tab键(在模拟精灵中不允许使用四个空格键缩进)
在网页或其他地方发布源代码、文档等,应当重新处理源代码用四个空格键替换tab键(因为每个程序显示tab键的风格都不相同)

ApeML脚本区块的第三行(即 <![CDATA[ 后面的第一行) 不允许缩进

嵌套层次不要过多(正常情况下不要常过三层)


9.加上local关键字
声明变量时推荐如无特别需要应加上local关键字声明为局部变量。

如:
a = 10;    --不被推荐的写法
local a = 10 --推荐的写法

如果要声明全局变量,应在前面加上下划线以示区别

a =10 ; --不被推荐的声明全局变量方法
_a =10 ; --推荐的声明全局变量的写法,应在前面加上下划

局部变量会提前释放内存,并且可以防止函数中的变量名与全局变量名相同导致的冲突。


10.注释
为代码书写简洁清晰的注释。

例如:

--函数功能:扫描屏幕 参数(信息,标题="",样式=0)
win.messageBox = function(msg,title,style)
    --函数代码       
end;


函数必须添加注释,
注释应按照上面演示的格式,可选参数在=号后面说明默认值


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多