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变量中

最新文章

  1. 【MySQL】优化—工欲善其事,必先利其器之EXPLAIN
  2. 使用jvisualvm.exe 的Btrace插件监控应用程序
  3. CCNA 6.5
  4. 3[doses] ------一种诡异的写法
  5. 【SPOJ 2319】 BIGSEQ - Sequence (数位DP+高精度)
  6. POJ 3450 Corporate Identity KMP解决问题的方法
  7. python向mysql中存储JSON及Nodejs取出
  8. JDK版本会影响项目部署
  9. Pythonh中的zip()与*zip()函数详解
  10. hashlib 简单加密
  11. C语言程序设计第五次作业——循环结构(1)
  12. Activity简单几步支持向右滑动返回
  13. Android为TV端助力:EventBus跨进程发送消息
  14. AlwaysOn配置时在连接步骤时报错(35250)
  15. zookeeper的Java端API应用
  16. Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
  17. git pull refusing to merge unrelated histories
  18. jquery实现图片上传前本地预览功能
  19. 001.Postfix简介
  20. HDU 5839 Special Tetrahedron 计算几何

热门文章

  1. SqlServer之like、charindex、patindex(转载)
  2. js取整
  3. SSIS CDC(Change Data Capture)组件在数据库中启用报错。 The error returned was 14234: &#39;The specified &#39;@server&#39; is invalid
  4. Android 开发笔记 “广播组件使用”
  5. foreach遍历对象的属性
  6. PHP学习笔记9-生成图片
  7. jmeter 压力测试 参数
  8. django virtualenv
  9. 依赖和用jar包得区别
  10. 简单的java缓存实现