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,如需转载请自行联系原作者


相关文章
|
7月前
|
资源调度 前端开发 JavaScript
Babel:JavaScript代码的编译利器
Babel:JavaScript代码的编译利器
|
资源调度 JavaScript 前端开发
探索Babel:现代JavaScript开发中的编译利器
Babel是一个流行的JavaScript编译工具,用于将新的ECMAScript标准(如ES6、ES7等)转换为向后兼容的JavaScript版本,以便在不同浏览器和环境中运行。它在现代JavaScript开发中扮演着关键角色,帮助开发者编写可读性强、高效且兼容性良好的代码。在本博客中,我们将深入研究Babel的核心概念、配置、插件和预设,以帮助您更好地了解这个强大的工具。
74 0
|
6月前
lua源码阅读
lua源码阅读
|
前端开发 JavaScript
|
JavaScript 前端开发
我理解的前端代码规范指南 - ESLint 篇
我理解的前端代码规范指南 - ESLint 篇
501 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 执行流程
Yii2如何进行代码风格检查?底层原理是什么?
Yii2如何进行代码风格检查?底层原理是什么?
|
数据采集 Linux C++
【Lua】《Lua 程序设计》摘录
【Lua】《Lua 程序设计》摘录
111 3
|
Java C++ 索引
Lua 脚本 C++ 封装库 LuaWrapper
LuaWrapper 需要用到boost库的支持:boost/type_traits.hpp, boost/function.hpp, boost/bind.hpp,它使用了C++的模板部份特化,因此,C++编译器如果不支持此特性,将无法编译。目前支持此特性的编译器已经有很多。
1851 0
|
NoSQL Java 应用服务中间件
lua脚本的妙用
最近搞了一个redis相关的小工具,用到了lua,特此记录下
189 0