几个项目说明文件移到根目录
This commit is contained in:
87
contributing.md
Normal file
87
contributing.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# 代码规范
|
||||
注:小程序和外部库等部分代码可以不遵守
|
||||
## 缩进
|
||||
全部使用四个空格
|
||||
## 文件尾
|
||||
文件尾要有空行
|
||||
## 变量名
|
||||
库 全大写
|
||||
库方法和全局变量 小驼峰
|
||||
局部函数 下划线开头小驼峰
|
||||
简单的局部变量 多个单词首字母或大写单字母
|
||||
需要阅读的局部变量 小驼峰
|
||||
## 常用语句块格式
|
||||
```lua
|
||||
f() -- 语句末不需要加分号
|
||||
|
||||
if c1 then
|
||||
s1
|
||||
elseif c2 then
|
||||
s2
|
||||
else
|
||||
s3
|
||||
end
|
||||
|
||||
while c do
|
||||
s
|
||||
end
|
||||
|
||||
for i=1,#l do
|
||||
s
|
||||
end
|
||||
|
||||
for k,v in next,table do -- pairs(table)最好换成next,table
|
||||
s
|
||||
end
|
||||
|
||||
repeat
|
||||
s
|
||||
until c
|
||||
|
||||
do
|
||||
s
|
||||
end
|
||||
```
|
||||
## 单行/多行注释
|
||||
```lua
|
||||
单行代码--注释1
|
||||
|
||||
--注释2
|
||||
函数或者代码块
|
||||
|
||||
--[[这里最好带上几个字的概述,方便折叠的时候预览,方括号间等号能不带就不带
|
||||
注释内容
|
||||
]]
|
||||
函数或者代码块
|
||||
```
|
||||
## 字符串
|
||||
可能输出到外部给玩家或者看的(或给开发者看的debug信息)用双引号
|
||||
只存在于代码中不对外展示的字符串用单引号
|
||||
双方括号(等号能不带就不带)用于大段文本
|
||||
## 代码紧凑
|
||||
### 少空格(这几种地方不要用空格)
|
||||
逗号后
|
||||
运算符两边
|
||||
左括号前
|
||||
右括号后
|
||||
### 省小括号
|
||||
如果一个函数只能接受一个输入
|
||||
并且输入的值是table或者string
|
||||
那么小括号要省略,例如
|
||||
GC.DO{100,40
|
||||
{'print',"Hello",0,0},
|
||||
{'print',"World",0,20},
|
||||
}
|
||||
### 少空格紧凑方法
|
||||
用正则查找替换,把
|
||||
\s?([+\-*/=()\[\]{}"']|==|>=|<=|~=|\.\.)\s?
|
||||
全部替换成
|
||||
$1
|
||||
注意,需要缩进模式为制表符,可以先切到制表符然后替换再切回去
|
||||
注意,字符串常量内部首尾空格会被替换
|
||||
## goto
|
||||
### 所有标签必须使用下列前缀的一个
|
||||
BREAK_ 类似一般的break,用于跳出任意层,可能跳过循环后一部分代码
|
||||
CONTINUE_ 类似一般的continue,用于快速跳到循环的末尾执行下一次循环
|
||||
THROW_ 类似一般的catch,用于捕获错误或跳出一个块并执行统一操作
|
||||
REPEAT_ 返回到前面一个点,用于重新执行某个操作
|
||||
Reference in New Issue
Block a user