Lua代码规范
以下规范,是在Unity中使用Lua做为开发语言,仅供参考。
1.格式规范
1、 lua文件名统一小写,中间一律不加下划线分割
2、 类名首字母大写,多个词组成的类名,每个词的首字母大写,中间一律不加下划线分割
文件名是否使用下划线分隔,仅供参考
3、 方法名首字母大写,多个词组成的方法名与类名规则相同
4、 类的成员变量以m_开头
5、 禁止使用全局变量,如果是通用的变量可以统一放到一个表里面
6、 换行,函数名之后换行,then、do、end之后换行,代码换行就不说了
7、 缩进,缩进是标准的4空格tab缩进,
8、类的方法定义如下示例,使用function 类名:方法名(参数列表) 的方式
示例
--HostPlayer --初始化用户 function HostPlayer:Init(id, sex, xxx, yyy) self.m_Id = id; --玩家ID self.m_Sex = sex; --玩家性别 self.m_Xxx = xxx; -- self.m_Yyyy = yyy; -- end
2.代码效率规范
1、 不要在update里使用GetCompont、GetComponentInChildren
2、 不要在Mono脚本 update使用foreach(Unity 5.5版本以下)
3、 animationmanager:GetCurrentStateInfo() 不要在Update里调用
4、 UIListItem_AAA:GetLable("123")等 用UIListItem_AAA.Controls["123"] 代替
5、 Input.GetAxis("Vertical") 用 LuaHelper.GetAxis(AxisType.Vertical)代替
6、 Application.platform == UnityEngine.RuntimePlatform.WindowsEditor 用LuaHelper.IsWindowsEditor() 代替
7、 UICamera.isOverUI(实现有GetComponent) 应该在事件触发之后判断 ,不要在Update里直接调用。
8、 不要在Update里改变UI控件的值如UILable_AAA.text = "123",UISprite_BBB.spriteName = "123",要在值变化是refresh页面