博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】Lua编程规范
阅读量:6264 次
发布时间:2019-06-22

本文共 1357 字,大约阅读时间需要 4 分钟。

 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要分行写,iffor等语句自占一行,执行语句不得紧跟其后。

2.4 比较规范

关系运算符两边最好用空格。

1nil : a == nil

2int/string: a == 163/ a == “Wingszero”

3Boolean: 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) 变量:驼峰法,egplayerName变量的命名要见名知意,便于阅读和修改。

2)常量:大写加下划线 egKIND_PET_FOOD

3)函数:和变量一致,egfunction checkTaskChainStatus()

4)模块:小写加下划线:egitem_factory_lua

5. 其他规范

1table的数据较多时考虑用如下形式增强可读性:

Local a = {

[1] = 108001

[2] = 108002

[3] = 108003

}

2)尽量使用local变量而非global变量

3)被多次读取的global变量,应提取出来放到local变量中

转载于:https://www.cnblogs.com/wuling129/p/4692394.html

你可能感兴趣的文章
数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列...
查看>>
剖析Jetty实现原理
查看>>
Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7)【转】...
查看>>
Git代理服务器设置和访问Github
查看>>
字符串同构问题 字符串操作:数组计数字符个数问题
查看>>
brew-cask之本地安装应用
查看>>
MapReduce原理及其主要实现平台分析
查看>>
浅谈RSA加密算法
查看>>
一个简单的RMAN自动备份脚本
查看>>
转: 关于流量控制与令牌桶介绍
查看>>
Windows系统小知识
查看>>
变量使用self.foo还是_foo
查看>>
Codeforces Testing Round #12 B. Restaurant 贪心
查看>>
2015第47周五
查看>>
CSS-设置Footer始终在页面底部
查看>>
判断一个字符串同时出现几个字符的C#版本和JS版本
查看>>
asp.net获取客户端浏览器及主机信息
查看>>
jstack和线程dump分析
查看>>
如何使用Win8系统自带杀毒软件
查看>>
(转)No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VA 解决办法
查看>>