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页面


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/6406404.html,如需转载请自行联系原作者


相关文章
|
5月前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
121 6
|
10月前
lua源码阅读
lua源码阅读
|
11月前
|
JavaScript 前端开发 开发工具
TypeScript:为JavaScript增加语法和解决问题的利器
TypeScript:为JavaScript增加语法和解决问题的利器
61 0
|
编译器 Linux C语言
lua编程基础
lua编程基础
149 0
|
Java API 索引
2023-5-4-Lua语言学习(二)
2023-5-4-Lua语言学习
76 0
|
存储 安全 关系型数据库
2023-5-4-Lua语言学习(一)
2023-5-4-Lua语言学习
145 0
|
Rust 自然语言处理 编译器
Rust源码学习 - Lint 执行流程
- 时间:2022.9.19 - 撰稿:[张正](https://github.com/He1pa)@[KusionStack开发组](https://github.com/KusionStack/kusion) - 收录于:[rust-code-book](https://github.com/awesome-kusion/rust-code-book) - 源码学习系列 + [Lint 与
Rust源码学习 - Lint 执行流程
|
Java C++ 索引
Lua 脚本 C++ 封装库 LuaWrapper
LuaWrapper 需要用到boost库的支持:boost/type_traits.hpp, boost/function.hpp, boost/bind.hpp,它使用了C++的模板部份特化,因此,C++编译器如果不支持此特性,将无法编译。目前支持此特性的编译器已经有很多。
1880 0
|
数据采集 Linux C++
【Lua】《Lua 程序设计》摘录
【Lua】《Lua 程序设计》摘录
144 3
|
存储 JavaScript 编译器
Lua脚本语言——Lua脚本基础语法
Lua脚本语言——Lua脚本基础语法
723 0
Lua脚本语言——Lua脚本基础语法