-
Notifications
You must be signed in to change notification settings - Fork 74
Coding Standard
MrZ_26 edited this page Oct 1, 2022
·
6 revisions
注:小程序和外部库等部分代码可以不遵守
- 全部使用四个空格
- 文件尾要有空行
| 变量类型 | 格式 |
|---|---|
| 库 | 全大写 |
| 库函数 | 小驼峰 |
| 局部函数 | 下划线开头小驼峰 |
| 全局变量 | 全大写 |
| 全局函数 | 小驼峰 |
| 需要阅读的局部变量 | 小驼峰 |
| 简单的局部变量 | 多个单词首字母或大写单字母 |
f() -- 语句末不需要加分号if c1 then
s1
elseif c2 then
s2
else
s3
endwhile c do
s
endfor i=1,#l do
s
endfor k,v in next,table do -- pairs(table)最好换成next,table
s
endrepeat
s
until cdo
s
end单行代码-- 注释1-- 注释2
函数或者代码块--[[ 这里最好带上几个字的概述,方便折叠的时候预览,方括号间等号能不带就不带
注释内容
]]
函数或者代码块- 可能输出到外部给玩家或者看的(或给开发者看的debug信息)用双引号
- 只存在于代码中不对外展示的字符串用单引号
- 双方括号(等号能不带就不带)用于大段文本
- 逗号后
- 运算符两边
- 左括号前
- 右括号后
- 如果一个函数只能接受一个输入,并且输入的值是table或者string,那么小括号要省略,例如
GC.DO{100,40
{'print',"Hello",0,0},
{'print',"World",0,20},
}用正则查找替换,把 \s([,+\-*/=><"']|==|>=|<=|~=|\.\.)|([,+\-*/=><"']|==|>=|<=|~=|\.\.)\s 全部替换成 $1$2
- 注意,需要缩进模式为制表符,可以先切到制表符然后替换再切回去
- 注意,字符串常量内部首尾空格会被替换
- BREAK_ 类似一般的break,用于跳出任意层,可能跳过循环后一部分代码
- CONTINUE_ 类似一般的continue,用于快速跳到循环的末尾执行下一次循环
- THROW_ 类似一般的catch,用于捕获错误或跳出一个块并执行统一操作
- REPEAT_ 返回到前面一个点,用于重新执行某个操作