This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
lua_conventions:zh [2022/08/11 01:57] fight_xing created |
lua_conventions:zh [2023/11/27 06:10] (current) hfsr [Lua 代码规范] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Lua 代码约定 | + | Lua 代码规范 |
============================== | ============================== | ||
- | + | * 保持代码风格一致。 | |
- | **译者注:本文档的部分/全部翻译来自 [MCBBS](https://www.mcbbs.net/thread-930346-1-1.html),由于 MCBBS 当前(2022.8)正在进行系统维护,暂无法联系原译者“Tony🐴”,因此这是未授权的转载。** | + | * 使用两个空格缩进。并且合理使用缩进。 |
- | + | ||
- | * 请上下文风格相同。 | + | |
- | * 缩进使用两个空格。争取每次缩进都是正确的。 | + | |
* 尝试将单行代码限制在80字符以内。 | * 尝试将单行代码限制在80字符以内。 | ||
- | * 不要在大括号/花括号间、及其中的内容间增加不必要的空格。 | + | * 不要在大括号/花括号及其内容间增加不必要的空格。 |
- | * 即使没有必要,也在函数调用的时候使用括号。 | + | * 调用函数时不要省略括号,哪怕括号没必要。 |
- | * 变量名只代表它们自己,不包含类型,即不要用匈牙利命名法。 | + | * 变量名只代表它们自己,不要添加类型标记,即不要用匈牙利命名法。 |
- | * 一个好习惯:按字母顺序进行请求(强迫症!) | + | * 最好按字母顺序排列require(强迫症!) |
- | * 请放心的多注释您的代码。加载大量注释使用的内存很快都会被释放。 | + | * 编写注释时请放宽心。文件加载完成后由于大量使用注释占用的额外内存会很快释放。 |
- | * 如果一定要验证参数,请使用内建的 checkArg 函数。错误消息可读性提高是好事!它的使用方法是 `checkArg(n, value, type1,...)`,n 是参数的个数,value 是参数的值,type1 和后面的内容就是接受的参数类型,通过 `type(value)` 获得。错误信息中使用的数字会是这样的:“bad argument #n (type1 expected, got type(value))”。所以,举个例子,要求第一个参数是数字时,你可以使用 `checkArg(1, arg, "number")`。 | + | * 如果你需要验证参数,请使用内建的checkArg函数。尽量产生同类报错信息是好事!其用法为`checkArg(n, value, type1,...)`,n是参数的编号,value是参数的值,type1和后面的内容为允许的变量类型,变量类型可通过`type(value)` 获得。报错信息中,前文的编号以如下方式出现:“bad argument #n (type1 expected, got type(value))”。例如,若要求第一个参数为数字,你可以写 `checkArg(1, arg, "number")`。 |
不好的代码: | 不好的代码: | ||
Line 20: | Line 17: | ||
if sArg1 then | if sArg1 then | ||
local nResult = 1 | local nResult = 1 | ||
- | -- 做更多工作 | + | -- 做更多任务 |
return nResult | return nResult | ||
end | end | ||
Line 35: | Line 32: | ||
if name then | if name then | ||
local result = 1 | local result = 1 | ||
- | -- 我们将非欧利几得空间的 B-样条算法外推来得出潜在的失败概率 | + | -- 我们将非欧利几得空间的B-样条算法外推来得出潜在的失败概率 |
return result | return result | ||
end | end |