表字段的命名全凭个人喜好:同一张配置表里混用驼峰(maxHp)与下划线(max_hp),甚至中英混合(最大血量)。多人协作时每个人都要猜别人的字段名,字段拼错导致的 nil 错误是最常见的低级 bug。更糟的是保留字冲突(cfg.end 非法)与数字开头(cfg.1st 非法)的点语法限制。错误场景:
local cfg = { MaxHP = 100, max_hp = 200, 最大血量 = 300 }
print(cfg.MaxHP, cfg.max_hp, cfg.最大血量)
三种命名风格并存,读代码的人无法确定哪个是标准字段。
项目统一一种命名风格:推荐全小写下划线(snake_case),避免保留字与数字开头。规范写法。示例代码如下:
local cfg = {
max_hp = 500,
attack_speed = 120,
drop_rate = 500,
end_time = os.time() + 3600,
}
print(cfg.max_hp, cfg.attack_speed)
全小写下划线永远不会与保留字冲突(end_time 不是 end),点语法全程可用。
三步验证:混合命名的表在多人阅读时至少产生一次字段名拼写错误;统一命名后 grep/搜索一次定位所有引用;保留字字段用字符串键读写后改名为带后缀的合法点语法字段。
命名规范的执行靠代码审查与工具检查:新成员提交的代码用模式匹配扫描大写字段名与中文字段名,不合规范的提交打回。示例代码如下:
local function checkNaming(t)
for k, v in pairs(t) do
if type(k) == "string" and string.find(k, "[^%l_]", 1) then
print("命名不规范:" .. k)
end
end
end
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
【游戏】 一、一行代码拆解:score = 3000 - used 10 —— 副本评分的全部骨架:基础分减去用时惩罚,分数…
【语法】 一、隐蔽陷阱:Lua 没有四舍五入函数,math.floor(2.5) 得 2 恒向负无穷取整——正数的四舍五入要…
【游戏】 一、业务场景:攻城战开打,会长世界喊话等人集合耽误 8 分钟,守军早已布防;集结令上线——会长发起,在线成员一键传…
【语法】 一、抛坑提问:乱序编号 {100, 4, 200, 1, 3, 2} 里最长连续段是 1 到 4 长度 4——排序…
【语法】 一、抛坑提问:统计第 1 到第 10 项,写 for i = 1, t - 1 少算一个,写 for i = 1,…
【游戏】 一、一行代码拆解:if old and old = actor then kick(old) end —— 顶号的…