跳转到内容

推荐的命名规范

变量命名

-- 局部变量(推荐写法1):小写+下划线(snake_case)
-- 函数内部变量、表字段
local player_health = 100
local item_list = {"sword", "shield"}
-- 局部变量(推荐写法2):首字母小写的驼峰式(camel_case)
-- 函数内部变量、表字段
local playerHealth = 100
local itemList = {"sword", "shield"}
-- 布尔变量:is_/has_前缀
-- 状态标识、条件判断
local is_visible = true
local has_reward = false
-- 全局常量:全大写+下划线
-- 配置文件、全局设定
MAX_PLAYERS = 8
DEFAULT_FOV = 90

函数命名

-- 普通函数:动词开头+驼峰式
-- 包含动作逻辑、数据获取
function CalculateDamage()
function GetPlayerPosition()
-- 模块函数:模块名+冒号语法
-- 面向对象函数定义
function PlayerManager:Init()
function ItemSystem:Reload()
-- 回调函数:On前缀
-- 事件监听、异步处理
function OnPlayerDeath()
function OnLevelComplete()

表结构

-- 数据表:名词复数形式
-- 动态数据集合
player_buffs = {
speed_boost = true,
attack_bonus = 1.2
}
-- 配置表:_config后缀
-- 静态参数配置
monster_config = {
goblin = { hp = 50, attack = 8 },
dragon = { hp = 500, attack = 45 }
}

文件规范

-- 模块文件:驼峰命名+下划线(额外备注的情况)
-- 功能模块封装
PlayerModule.lua
DecisionTree.lua
-- 配置文件:_config后缀
-- 参数配置文件
Item_config.lua
Level_config.lua

标注规范

-- 此处写对于函数的备注
--@param num_a number 需要处理数字 参数注释:@param+参数名+参数类型+参数描述
--@param func_b function 处理函数
--@return number 处理后的数字 返回值注释:@return+返回值类型+返回值描述
function Func(num_a,func_b)
return func_b(num_a)
end
--此处写对于模块的描述
--[[
多段文字用这种方式注释
]]--
--@module "TestMode" 模块注释:@module+模块名
--此处写对于表的注释
--@table player_buffs 表的注释:@table+表名
-- @number 玩家的生命值 变量注释:@类型+备注
-- @string 玩家名称
-- @boolean玩家是否存在
--此处写对于类的注释
--@class Player 类的注释:@class+名称
--@field helath number 类的字段:@field+字段名称+字段类型
--@field has_weapons boolean