Lua conventions/zh
Jump to navigation
Jump to search
Lua 代码规范
- 保持代码风格一致。
- 使用两个空格缩进。并且合理使用缩进。
- 尝试将单行代码限制在80字符以内。
- 不要在大括号/花括号及其内容间增加不必要的空格。
- 调用函数时不要省略括号,哪怕括号没必要。
- 变量名只代表它们自己,不要添加类型标记,即不要用匈牙利命名法。
- 最好按字母顺序排列require(强迫症!)
- 编写注释时请放宽心。文件加载完成后由于大量使用注释占用的额外内存会很快释放。
- 如果你需要验证参数,请使用内建的checkArg函数。尽量产生同类报错信息是好事!其用法为`checkArg(n, value, type1,...)`,n是参数的编号,value是参数的值,type1和后面的内容为允许的变量类型,变量类型可通过`type(value)` 获得。报错信息中,前文的编号以如下方式出现:“bad argument #n (type1 expected, got type(value))”。例如,若要求第一个参数为数字,你可以写 `checkArg(1, arg, "number")`。
不好的代码:
function f(sArg1 , ... )
assert(type(sArg1)== "string", "me wants a strign!")
if sArg1 then
local nResult = 1
-- 做更多任务
return nResult
end
end
if f ( "a" ) ==1 then
print"asd"
end
好代码:
function f(name, ...)
checkArg(1, name, "string")
if name then
local result = 1
-- 我们将非欧利几得空间的B-样条算法外推来得出潜在的失败概率
return result
end
end
if f("a") == 1 then
print("asd")
end
目录
| < 100% 15% 15% > | |||
| 开放式电脑 | |||
| 通用内容 | 安装与使用Open OS - 模组联动 - Lua编程规范 - 电脑用户 |
| < 100% 15% 15% > | ||
| 方块 | 电脑 | 电脑机箱 - 服务器机架 - 微控制器 |
| ::: | 显示 | 全息投影仪 - 键盘 - 屏幕 |
| ::: | 供电和组网 | 无线接入点 - 电容器 - 网络拆分器 - 能量转换器 - 能量分配器 - 中继器(交换机) |
| ::: | 扩展 | 适配器 - 线缆 - 拆解机 - 软盘驱动器 - 地质分析仪 - 运动传感器 - 红石I/O端口 - 转运器 - 3D打印机 |
| ::: | 机器人 | 组装机 - 充电器 - 无人机 - 机器人 - 路径点 |
| < 100% 15% 15% > | ||
| 物品 | 扩展卡 | 调试卡 - 数据卡 - 显卡 - 因特网卡 - 连接卡 - 网卡 - 红石卡 - 无线网卡 |
| ::: | 存储设备 | 软盘 - EEPROM - 硬盘 - 内存条 |
| ::: | 升级 | 天使升级 - 电池升级 - 区块加载升级 - 合成升级 - 数据库升级 - 经验升级 - 发电机升级 - 悬浮升级 - 物品栏控制器升级 - 物品栏升级 - 拴绳升级 - 导航升级 - 活塞升级 - 告示牌读写升级 - 太阳能发电机升级 - 储罐升级 - 储罐控制器升级 - 牵引光束升级 - 世界传感器升级 |
| ::: | 容器 | 扩展卡容器 - 升级容器 |
| ::: | 其它 | 分析器 - 纹理获取器 - 组件总线 - CPU - APU - 无人机外壳 - 开放式电脑手册 - 微控制器外壳 - 纳米机器 - 远程终端 - 终端服务器 - 服务器 - 平板电脑外壳 - 平板电脑 - 制作材料 - 墨盒 - 螺丝刀扳手 - 悬浮靴子 - 蚀刻药水 - 战利品软盘 |
| < 100% 15% 15% > | ||
| API | OpenOS | buffer - colors - component - computer - event - filesystem - uuid - internet - keyboard - note - process - rc - robot - serialization - shell - sides - term - text - thread - transforms - unicode |
| ::: | Lua 库 | coroutine - package - io - os |
| < 100% 15% 15% > | ||
| 组件API | 3D打印机 - 抽象总线 - 无线接入点 - 区块加载器 - 电脑 - 合成 - 数据卡 - 数据库 - 调试 - 无人机 - 驱动器 - EEPROM - 经验 - 文件系统 - 发电机 - 地质分析仪 - GPU - 全息投影仪 - 因特网 - 物品栏控制器 - 拴绳 - 微控制器 - 调制解调器 - 运动传感器 - 导航 - 网络拆分器 - 活塞 - 红石 - 运动红石机构 - 机器人 - 屏幕 - 告示牌 - 储罐控制器 - 牵引光束 - 转运器 - 隧道 - 世界传感器 | |
| ::: | 其它 | 访问组件 - 信号 |
| ::: | 模组联动 | 应用能源 |
| 附加模组 | 附属模组 | Computronics(英文) | |
|---|---|---|---|
| ::: | 支持 OC 的模组 | Thut's Concrete |
| < 100% 15% 15% > | |||
| 教程 | 模组特有内容 | 基础电脑 - 编写代码 - 硬盘 - Autorun与Startup自启动脚本 | |
| ::: | 模组制作 | 自定义架构 - IMC 信息 - OC 1.3 中的API改动 - OC 1.4 中的API改动 - 从源码构建并运行 master-MC1.7.10 版本的 OC | |
| ::: | 程序 | OPPM - install | |
| ::: | 其它 | 自定义操作系统 - 中文翻译守则 |
| 其他语言 | 英文(English) |
|---|