以下规范,是在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页面

Lua代码规范的更多相关文章

  1. 【转】Lua编程规范

    Lua编程规范 1. 版本和版权问题 版权和版本的声明位于定义文件的开头(参见示例1-1),主要内容有: (1)版本号 <主版本号><次版本号><修订号> (2)文 ...

  2. iOS代码规范(OC和Swift)

    下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...

  3. 谈谈PHP代码规范

    [转] http://www.syyong.com/php/Talk-about-PHP-code-specification.html 我向往这样一个php世界,里面没有代码规范之争.你我都一样,都 ...

  4. 2016 正确 sublime安装PHPcs PHPcodesniffer代码规范提示插件,修正网上部分不详细描述

    对你有助请点赞,请顶,不好请踩------送人玫瑰,手留余香!-------------------14:37 2016/3/212016 正确 sublime安装PHPcs PHPcodesniff ...

  5. C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义

    类型判断符号: C#:object a;  if(a is int) { }  用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...

  6. 作业三: 代码规范、代码复审、PSP

    分) 对于是否需要有代码规范,请考虑下列论点并反驳/支持: 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 我是个艺术家,手艺人,我有自己的规范和原则. 规范不能 ...

  7. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  8. C#代码规范

    C#代码规范  一.文件命名 1 文件名 文件名统一使用帕斯卡命名法,以C#类名命名,拓展名小写. 示例: GameManager.cs 2 文件注释 每个文件头须包含注释说明,文件头位置指的是文件最 ...

  9. 【转】Java代码规范

    [转]Java代码规范 http://blog.csdn.net/huaishu/article/details/26725539

随机推荐

  1. DIV弹出和关闭新DIV

    代码用HTML+JS实现: 代码(用HTML+JS实现): <!doctype html> <html lang="UTF-8"> <head> ...

  2. Oracle忘记密码的处理办法

    可能有的人在很长一段时间不用Oracle数据库,然后在反过来用的时候就会发现自己依然忘记了密码... 这里提供一个忘记密码后的解决办法 首先呢,你打开数据库用 sys或者是sysdba超级管理员用户名 ...

  3. ubuntu E: Could not get lock /var/lib/dpkg/lock - open

    sudo rm /var/lib/apt/lists/lock apt-get update

  4. EntityFramework 6.0&lt; Code First &gt; 连接 Mysql数据库(转)

    http://blog.csdn.net/kmguo/article/details/19650299 网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转载的太多 ...

  5. Real-Rime Rendering (2) - 变换和矩阵(Translation and Matrics)

    提要 在图形的计算中,比如旋转.缩放.平移.投影等操作,矩阵都扮演着极其重要的角色,它是操作图元的基本工具.虽然很多的图形API已经封装好了这些矩阵操作,但是理解这些矩阵操作的原理会非常非常有帮助,比 ...

  6. POJ 2942 Knights of the Round Table - from lanshui_Yang

    Description Being a knight is a very attractive career: searching for the Holy Grail, saving damsels ...

  7. Linux上mysql的安装与配置

    前言 在我们使用Linux的过程中,可能会使用到数据库.那么,数据库的安装与配置就是我们需要掌握的了~所以呢,这篇博客小编就来给大家唠唠数据库的安装与配置. 说到编译安装,小编脑海里浮现的第一个方法就 ...

  8. Android破解心得——记学习七少月安卓大型安全公开课

    第一课 讲解了关于在安卓破解之中环境的配置及所需要用到的软件,重要的软件是Androidkiller,安卓逆向助手 第二课讲解了java与smali的关系,从smail角度详细的分析了一个简单的Hel ...

  9. LightningChart最新版 v.8.3 全新发布,新功能使用教程。

    LightningChart最新版v.8.3全新发布,主要介绍以下五个新功能及使用教程.   1. 网格模型,三角鼠标追踪 Tracing MeshModels with mouse. Traced ...

  10. web理论知识--网页访问过程(附有Django的web项目访问流程)

    当我们闲暇之余想上网看看新闻,或者看个电影,通常的操作是:打开电脑.打开浏览器.输入网址.浏览页面信息.点击自己感兴趣的连接......那么有没有想过,这些网页从哪里来的?过程中计算机又做了什么事情了 ...