自我记录参数在Lua

我正在寻找一种方法来澄清我的Lua函数的合约。特别是,参数应该具有哪些属性。自我记录参数在Lua

为了说明我的问题,一些代码片断与我当前代码的典型结构。用两个公共函数构造一个新的“实例”的函数。

local function newTextPrinter(color) 

return {

print = function(textToPrint)

PrintText(textToPrint, 20, color, 5, 'center');

end,

printBig = function(textToPrint)

PrintText(textToPrint, 30, color, 5, 'center');

end

}

end

一个函数,它带有一个应该具有相同签名(或超集)的参数。

local function printSomeStuff(textPrinter) 

textPrinter.print("some")

textPrinter.printBig("stuff")

end

后来的功能

local textPrinter = newTextPrinter("ffffffff") 

printSomeStuff(textPrinter)

这段代码的问题的调用是,你不能告诉什么提供给printSomeStufftextPrinter参数应该看起来像不看的printSomeStuff实施。虽然这个例子很容易做到这一点,但情况往往并非如此(在我的情况下,文件之间的跳跃力量)。除了名称上的相似之外,也没有暗示通过newTextPrinter可以获得合适的值。

有没有办法让代码更加自我记录并更好地揭示作者的意图?

我更喜欢一种轻便的方法,并不试图仿效基于类的继承。同样,代码比文档更受欢迎,如果失败了,工具可以理解的格式的文档优于自由格式。很明显,我可以写一条评论,比如“参数textPrinter需要printprintBig公共函数”,但是如果没有任何内容告诉你关于你在文档中犯的错误,或者当你重构代码并忘记更新时,这很容易出错。

我使用的是Lua 5.0,而且对于该语言来说相当新颖。

回答:

是的。首先,命名是关键。接下来,评论可以描述合同。此外,格式化,标记,处理和上下文呈现的评论是有多少人编程。最后,格式化注释中的超链接提供了访问完整文档的途径。

有几种格式化注释处理系统:LuaDoc,LDoc,LDT文档语言...。不幸的是,没有标准,选择将主要由用户的IDE功能驱动。一些IDE甚至会协助作者对格式化评论。

即使没有处理,标签和格式 - 大部分 - 提高了人的可读性。所以只要源代码很容易弹出,它确实有帮助。

以上是 自我记录参数在Lua 的全部内容, 来源链接: utcz.com/qa/260848.html

回到顶部