【转】Lua编程规范
Lua编程规范
1. 版本和版权问题
版权和版本的声明位于定义文件的开头(参见示例1-1),主要内容有:
(1)版本号 <主版本号><次版本号><修订号>
(2)文件名称
(3)功能描述
(4)创建人
(5)创建时间

图1-1 版本信息示例
2. 排版
2.1 空格
程序块间要采用缩进风格编写,缩进空格数为Tab。连接运算符“..”两边要有空格。如:a .. b
2.2 空行
相对独立的程序块之间,如函数块之后必须加空行。(注:空行不占内存)如下:两个函数之间必须要加空行。
function distance(destX,destY,destZ,srcX,srcY,srcZ)
return math.sqrt((destX-srcX)^2+(destY-srcY)^2+(destZ-srcZ)^2)
end
function checkDistance(destX,destY,destZ,srcX,srcY,srcZ)
iw.log(“ssss”)
end
2.3 代码行
较长的语句要分成多行书写,每行代码不超过70字符,一行代码最好只做一件事情,比如只写一个语句,或只定义一个变量,这样的代码容易阅读,方便注释。
if…then…return…end要分行写,if、for等语句自占一行,执行语句不得紧跟其后。
2.4 比较规范
关系运算符两边最好用空格。
(1)nil : a == nil
(2)int/string: a == 163/ a == “Wingszero”
(3)Boolean: if a/if not a
(4)杜绝比较不同类型的对象
3. 注释
3.1 注释符号
单行注释:--
多行注释:--[[ --]]
3.2注释量
一般情况下,源程序有效注释量必须在20%以上。
3.3注释区域
注释通常用于以下:
(1)版本、版权声明;
(2)函数接口说明;
(3)重要的代码行或段落提示。
注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。注释与其下面的代码用空行分隔开来。如图3-1

图3-1
注意:注释的原则是有助于对程序的阅读理解,注释也不宜太多。注释可以是中文或英文,但最好用英文,防止产生乱码问题。
3.4 全局变量注释
全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数存取它以及存取它时的注意事项等的说明。
4. 命名规范
(1) 变量:驼峰法,eg:playerName变量的命名要见名知意,便于阅读和修改。
(2)常量:大写加下划线 eg:KIND_PET_FOOD
(3)函数:和变量一致,eg:function checkTaskChainStatus()
(4)模块:小写加下划线:eg:item_factory_lua
5. 其他规范
(1)table的数据较多时考虑用如下形式增强可读性:
Local a = {
[1] = 108001
[2] = 108002
[3] = 108003
}
(2)尽量使用local变量而非global变量
(3)被多次读取的global变量,应提取出来放到local变量中
【转】Lua编程规范的更多相关文章
- 腾讯开源手游热更新方案,Unity3D下的Lua编程
原文:http://www.sohu.com/a/123334175_355140 作者|车雄生 编辑|木环 腾讯最近在开源方面的动作不断:先是微信跨平台基础组件Mars宣布开源,腾讯手游又于近期开源 ...
- C++编程规范和编译过程详解
前言:因为c++基础打得不牢,所以准备花点时间再学一下c++的基础知识,主要是看网易云课堂里面的免费课程,把一些知识点做个笔记记下来. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- Batsing的网页编程规范(HTML/CSS/JS/PHP)
特别注意!!!我这里的前端编程规范不苟同于Bootstrap的前端规范. 因为我和它的目的不同,Bootstrap规范是极简主义,甚至有些没有考虑到兼容性的问题. 我的规范是自己从编程实践中总结出来的 ...
- JAVA编程规范(下)
JAVA编程规范(下) 2016-03-27 6. 代码的格式化 6.1 对代码进行格式化时,要达到的目的 1. 通过代码分割成功能块和便于理解的代码段,使代码更容易阅读和理解: 2. ...
- JAVA 编程规范(上)
2016-03-20 J120-CHARLIEPAN JAVA 编程规范(上) 1. 应用范围 本规范应用于采用J2EE规范的项目中,所有项目中的JAVA代码(含JSP,SERVLET,JA ...
- 使Eclipse符合Java编程规范
编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展. 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情.将Eclipse设置为符合公司编程 ...
- flex+AS3编程规范
flex+AS3编程规范 Flex+AS3编码规范 http://www.cnblogs.com/jiahuafu/ 1. 缩写: 尽量避免使用缩写,使用缩写时尽量和Flex保持一致.但要记住一 ...
- Python编程规范(PEP8)
Python编程规范(PEP8) 代码布局 缩进 对于每一次缩进使用4个空格.使用括号.中括号.大括号进行垂直对齐,或者缩进对齐. 制表符还是空格? 永远不要将制表符与空格混合使用.Python最常用 ...
- Python 编程规范-----转载
Python编程规范及性能优化 Ptyhon编程规范 编码 所有的 Python 脚本文件都应在文件头标上 # -*- coding:utf-8 -*- .设置编辑器,默认保存为 utf-8 格式. ...
随机推荐
- java软件工程师成长过程的学习
第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架: *第二阶段:java界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都能来及: *第三阶段: ...
- paip.最新的c++ qt5.1.1环境搭建跟hello world
paip.最新的c++ qt5.1.1环境搭建跟hello world 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://bl ...
- C++设计模式之状态模式(四)
4.状态模式总结 状态模式将一个对象在不同状态下的不同行为封装在一个个状态类中,通过设置不同的状态对象能够让环境对象拥有不同的行为.而状态转换的细节对于client而言是透明的.client不直接操作 ...
- CSS一些设置用法
今天就简单写点的知识点 1. CSS字体样式小结 1) text-indent :值 实现段落首行缩进功能 (在起初我们编写段落时为了实现首行缩进两个字符时用的是HTML的标签元素&nb ...
- 【转】emulator: ERROR: Could not load OpenGLES emulation library: lib64OpenglRender.so
[转]emulator: ERROR: Could not load OpenGLES emulation library: lib64OpenglRender.so ./emulator64-arm ...
- HTML之表格与表单
一.表格(table/tr/td) <table></table>表格 --不设高度 width:宽度.可以用像素或百分比表示. 常用960像素. border:边框,常用值为 ...
- 【JAVA】使用Eclipse依赖生成jar包时,避免最外层同时生成资源文件的配置。
使用Eclipse依赖生成jar包时,如果做配置,生成的jar包文件会全部生成在外面,这并不是我们需要的,下面我们一起来修改下配置,使生成的jar包符合我们的需求吧. 1.如果不做任何配置生成的jar ...
- ansible不配ssh连接,用户密码登录
ansible 不配ssh免密链接,直接用ssh用户密码连接,要先装sshpass. 否则会报错: sshpass安装 sshpass下载地址:http://sourceforge.net/proje ...
- select into from 和 insert into select 的用法和区别(转)
转自:http://www.studyofnet.com/news/182.html select into from 和 insert into select都是用来复制表,两者的主要区别为: se ...
- python笔记之字符串
列表,元组,字符串的相互转换: 将字符串转换为序列和元组: >>> s="hello" >>> list(s)['h', 'e', 'l', ' ...