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