我来自强类型世界,我想写一些Lua代码。我应该如何记录什么类型的东西? Lua当地人做什么? Hungarian notation?还有别的吗?
例如:
local insert = function(what, where, offset)
我们不可能一眼就看出我们是在谈论字符串还是表格。
我应该
local sInsert = function(sWhat, sWhere, nOffset)
或
-- string what, string where, number offset, return string
local insert = function(what, where, offset)
或其他什么?
局部变量怎么样?表条目怎么样(例如someThing.someProperty
)?
答案 0 :(得分:3)
有关社区(或特定社区)中Lua风格的想法和意见的参考,请阅读:LuaStyleGuide。
最接近强制风格的是LuaDoc使用的格式,因为它是LuaFileSystem等高端项目使用的相当流行的文档生成器。
答案 1 :(得分:0)
Lua只有七种类型。
以下是一些惯例(其中一些可能听起来有点明显;对不起):
street_address
,request_method
。如果您不确定可以添加_name
(或任何其他明确表明具有实质意义的后缀):method_name
mass
,temperature
,percentage
。如有疑问,请添加number
,amount
,coefficient
或其他任何内容:number_of_children
,user_id
。名称n
和i
通常会提供给数字。如果数字必须是正数或自然数,请在函数顶部进行断言。cold
,dirty
)或is_<adjective>
(is_wet
,is_ready
)。consume
,check
。如果您需要进一步澄清,可以添加_function
,_callback
或_f
:update_function
,post_callback
。单个字母f
经常代表一个函数。通常你应该只有一个类型函数的参数(建议把它放在最后)children
,words
,dictionary
。人们通常不区分类似数组的表和类似字典的表,因为两者都可以用pairs
进行解析。如果您需要指定表是数组,则可以在名称末尾添加_array
或_sequence
。字母t
通常表示表格。_cor
添加到其名称中。nil
。
options = options or {}
assert(name, "The name is mandatory")