脚本编写规范"/>
Lua业务脚本编写规范
LUA脚本是一个业务处理以及过程控制的脚本,所有的业务处理、过程的控制都由脚本来控制,通过插件动态库提供的接口调用,组成不同的业务逻辑。为了减少脚本编写错误,提高脚本编写的效率以及代码的可读性和可维护性,特制定此规范。
1. 参数命名
1.1 局部参数
- 函数内局部参数,遵循C++编程命名规则,例如 local nLength = Array.size()等。
- 文件内局部参数,_<英文描述> 例如:
1.2 全局参数
g_<英文名称> ,例如配置每次查询返回最大记录条数g_nMaxAnsRecordNum。
2. 函数命名
2.1 功能函数
所有的入口功能函数的格式: TX_ +<必要的标识命名>+<功能英文名称>+<F><功能号> ,例如:
function TX_MID_Login_F100
function TX _HK_QuBargain_F245等。
2.2 非功能函数
格式: F_ + 函数的功能名字以及必要的标识构成。
例如:取非交易过户最大数量function F_Stock_QueryOtherQty(UserInfo, MsgReq)。
注意:它仅限于在本脚本文件中使用,被功能函数调用。
2.3 全局函数
格式:G_函数功能英文名以及必要的标识(非必需)构成。
例如:获取查询最大返回记录数量 function G_GetMaxQueryRecordCount
注意:它可以在全局环境中使用。
3.脚本文件
3.1结构框架
3.2脚本名称命名
3.2.1总入口脚本
main.lua
3.2.2 业务脚本
<业务英文名称>Request.lua
例如股票业务脚本名称:StockRequest.lua
3.2.3 辅助脚本
(1) 配置脚本
如果全局使用,Config.lua。
如果具体业务脚本使用,<业务英文名称>Config.lua。
例如,Stock配置脚本的名称为:StockConfig.lua
(2)字典脚本
如果全局使用,Dict.lua。
如果具体业务脚本使用,<业务英文名称>Dict.lua
例如,Stock字典脚本的名称为 :StockDict.lua
(3)工具库脚本
如果全局使用,Utils.lua
如果具体业务脚本使用,<业务英文名称>Utils.lua
例如,Stock工具库脚本的名称为:StockUtils.lua
(4)其它脚本
<功能英文描述>.lua
3.3 修改日志
每次修改脚本,必须在文件开头,添加如下修改历史信息:
修改时间、修改人、修改原因和修改内容等
例如:
3.4版本号
3.4.1每个脚本都必须有版本号
3.4.2版本信息
版本信息= <脚本名称>,<版本号> ,<更新时间>组成。
版本号= V<主版本号>.<次版本号>.<builder号>
更新时间=YYYYMMDD
例如:"StockRequest.lua,V1.0.025,20150315"
3.4.3 版本变化规则
3.4.3.1 主版本号
- 主版本号从1开始
- 非常大的版本改动,则增加一个主版本号(产品组确定)
3.4.3.2次版本号
- 次版本号从0开始
- 小的版本改动则增加一个次版本号(由需求确定)
3.4.3.3 builder号
- builder号则从1开始
- 任何版本的改动,则将builder号重新从1开始,直到下一次版本的变动。(由开发和测试决定)
3.4.3.4 其它
- 版本的变动必须是以有需求为前提
- 所有的缺陷的修改,基于主版本以及次版本为前提,并且以最新的builder号为基础进行修改,修改后builder增加1
3.5 注释
- 每添加一个功能函数,必需为其添加注释。注释应简洁清晰,拒绝冗余。
3.6 文件布
3.6.1 文件介绍信息
包括文件功能,创建时间,创建人,客户名称等
3.6.2 文件修改信息
包括修改人,修改时间,修改原因和修改内容等。
3.6.3版本信息
3.6.4 实例
4. 常用惯例
4.1 在删除不用的功能时候,直接删除不用的代码,不要使用注释。保 持代码的干净整洁,并在修改记录中记录删除原因。
4.2 脚本的编写中,是模块的相关功能行紧凑的排在一起。不能随意的 使用空行。如果非相同功能的,则使用空行隔开。
4.3 添加新功能号时,先确定是何种业务,接着在具体业务脚本的注册 接口函数Init<XXX>Request中注册功能函数,最后定义此功能函数。
4.4 添加新函数时,先确定其属于何种功能 ,然后在对应的脚本中添加 该函数。例如,如果该功能是与字典相关,则放在字典脚本中。
4.5工具脚本或则字典脚本中的函数,如果被提供给其他脚本文件使用一般都被设计成全局函数。
4.6 尽量避免使用全局参数,而使用全局函数。
更多推荐
Lua业务脚本编写规范
发布评论