diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 00000000..9023d155 --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,45 @@ +代码规范(小程序和外部库等部分代码可以不遵守) + 缩进全部使用四个空格 + 文件尾要有空行 + 变量名: + 库变量 全大写 + 库方法和全局变量用 小驼峰 + 局部函数 下划线开头小驼峰 + 简单的局部变量 大写,单字母或多个单词首字母 + 需要阅读的局部变量 小驼峰 + 单行注释: + 写在函数定义行/单行代码末尾/代码块前面第一行 + 多行注释: + 用双方括号(等号能不带就不带),写在函数或者一堆函数的前面 + 方括号开头行带上几个字的概述,方便折叠的时候预览 + 字符串: + 只存在于代码里不展示给玩家的字符串用单引号 + 会输出给玩家或者看的(或给开发者看的debug信息)用双引号 + 双方括号(等号能不带就不带)用于大段文本 + 代码紧凑: + 少空格(这几种地方不要用空格): + 逗号后 + 运算符两边 + 左括号前 + 右括号后 + 省小括号: + 如果一个函数只能接受一个输入 + 并且输入的值是table或者string + 那么小括号要省略,例如 + GC.DO{ + {'print',"Hello",0,0}, + {'print',"World",0,20}, + } + 少空格紧凑方法: + 用正则查找替换,把 + \s?([+\-*/=()\[\]{}"']|==|>=|<=|~=|\.\.)\s? + 全部替换成 + $1 + 注意,需要缩进模式为制表符,可以先切到制表符然后替换再切回去 + 注意,字符串常量内部首尾空格会被替换 + goto: + 所有标签必须使用下列前缀的一个: + BREAK_ 类似一般的break,用于跳出任意层,可能跳过循环后一部分代码 + CONTINUE_ 类似一般的continue,用于快速跳到循环的末尾执行下一次循环 + THROW_ 类似一般的catch,用于捕获错误或跳出一个块并执行统一操作 + REPEAT_ 返回到前面一个点,用于重新执行某个操作