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


相关文章
|
Java 中间件 API
【C/C++ 线程 】深入浅出:理解 std::thread 的局限性
【C/C++ 线程 】深入浅出:理解 std::thread 的局限性
888 2
|
安全 机器人 Python
python之钉钉机器人自动发消息——傻瓜式教程
自动化跑完的结果,需要自动发送到钉钉群,自动将数据、报告、截图等保存至公司内部服务器,钉钉通知的时候,需要有个链接,点击就可以跳转。
4209 0
python之钉钉机器人自动发消息——傻瓜式教程
|
9月前
|
人工智能 安全 小程序
【重磅】瑞数信息蝉联IDC中国AI赋能私有云WAF市场份额Top2!
IDC发布2024年中国AI赋能Web应用防火墙市场报告,显示云WAF市场规模达25.5亿元,同比增长5.9%。瑞数信息以12.7%的市场份额蝉联私有云WAF市场Top2。报告指出,WAF产品正向智能化升级,大模型助力流量分析与风险识别,WAAP成演进方向。瑞数信息专注动态安全技术,提供全面Web、APP、API防护,覆盖多行业头部客户,持续领跑市场。未来将加大AI投入,助力企业构建智能Web安全体系。
431 3
|
存储 自然语言处理 关系型数据库
基于阿里云通义千问开发智能客服与问答系统
在企业的数字化转型过程中,智能客服系统已成为提高客户满意度和降低运营成本的重要手段。阿里云的通义千问作为一款强大的大语言模型,具有自然语言理解、对话生成、知识检索等能力,非常适合用来开发智能客服与问答系统。 通过本博客,我们将演示如何基于阿里云的通义千问模型,结合阿里云相关产品如函数计算(FC)、API网关、RDS等,搭建一个功能齐全的智能客服系统。
1901 5
|
人工智能 调度 算法框架/工具
【AI系统】计算图的调度与执行
深度学习训练过程涉及前向计算、计算损失及更新权重参数。AI框架通过计算图统一表示训练过程,算子作为计算图的节点,由后端硬件高效执行。计算图调度包括算子间的调度、并发调度和异构调度,确保计算资源的有效利用。图执行模式分为单算子执行、整图下沉执行和图切分多设备执行,适应不同场景需求。以PyTorch为例,其算子执行通过两次调度选择合适的Kernel进行张量操作,并支持自动求导。
825 5
|
人工智能
AI假图检测:Deepfake层出不穷,怎么才能“有图有真相”?
【9月更文挑战第11天】随着AI技术的进步,DeepFake等换脸、P图技术让图片真假难辨。本内容介绍AI假图检测方法,包括观察细节、检查一致性、利用AI工具和借助AI技术构建训练数据集等。AI假图检测具有挑战性,需综合多种方法和技术进行分析。
1443 2
|
Windows
在VsCode上调试Cocos2d-x lua项目
在VsCode上调试Cocos2d-x lua项目
1602 0
|
安全 搜索推荐 Linux
D-Bus深度解析:系统总线与会话总线的区别与应用
D-Bus深度解析:系统总线与会话总线的区别与应用
765 2
|
XML Ubuntu Linux
探索Linux中的`busctl`命令:DBus的瑞士军刀
`busctl`是Linux下管理DBus消息总线的命令行工具,用于查看、监听和控制DBus服务。
|
机器学习/深度学习 人工智能 安全
探索未来:人工智能在后端开发中的应用前景
【2月更文挑战第5天】随着人工智能技术的不断进步,后端开发领域也迎来了新的机遇与挑战。本文将探讨人工智能在后端开发中的应用前景,从数据处理、系统优化到安全性保障等方面展开讨论,展望未来人工智能与后端开发的紧密结合将为我们带来怎样的变革。