ApeML代码书写规范

来源:百度文库 编辑:神马文学网 时间:2024/04/30 08:06:02
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脚本区块的第三行(即 嵌套层次不要过多(正常情况下不要常过三层)
9.加上local关键字
声明变量时推荐如无特别需要应加上local关键字声明为局部变量。
如:
a = 10;    --不被推荐的写法
local a = 10 --推荐的写法
如果要声明全局变量,应在前面加上下划线以示区别

a =10 ; --不被推荐的声明全局变量方法
_a =10 ; --推荐的声明全局变量的写法,应在前面加上下划
局部变量会提前释放内存,并且可以防止函数中的变量名与全局变量名相同导致的冲突。
10.注释
为代码书写简洁清晰的注释。
例如:
--函数功能:扫描屏幕 参数(信息,标题="",样式=0)
win.messageBox = function(msg,title,style)
--函数代码
end;
函数必须添加注释,
注释应按照上面演示的格式,可选参数在=号后面说明默认值
_xyz