我感兴趣的是记录我的代码,其中大部分是我不创建新类的脚本。
通过阅读YARD文档,并尝试实际实现一些YARD文档,您似乎在已定义的类中声明了YARD标记。我在创建类或向类添加新方法时成功使用了YARD,如下面的示例代码所示,我还能够使用YARD标记(如@author
和@example
)记录简单的事物。
#!/usr/bin/env ruby -wKU
## a YARD test
class String
# Prints a string using two supplied strings
#
# @param str1 [String] A string to print
# @param str2 [String] A string to print
# @return [String] A printed string
def yardTest(str1, str2)
p sprintf("Hello, %s, %s", str1, str2)
end
end
我的问题是:
答案 0 :(得分:2)
只需记录脚本中的方法,就像对任何基于类或模块的方法一样。 YARD应将其记录为“顶级命名空间”的一部分。
对脚本进行以下修改,删除class String
包装器:
#!/usr/bin/env ruby -wKU
# Prints a string using two supplied strings
#
# @param str1 [String] A string to print
# @param str2 [String] A string to print
# @return [String] A printed string
def yardTest(str1, str2)
p sprintf("Hello, %s, %s", str1, str2)
end
您可能还想考虑为其用户记录脚本的API,当然这是为了不同的目的和受众。
还要考虑将命令行界面与执行操作的方法分开 - 在这种情况下,您最终将创建合适的模块和类。在制作任何远程复杂的东西时,这是一种自然的模式,并且允许您将来在脚本之间共享逻辑,或者可能在未从命令行调用的事物中共享逻辑。您可以查看thor
gem - 它是一个用于创建命令行脚本的框架,并包含遵循良好抽象模式的命令行界面示例。 Thor支持在命令行脚本中轻松包括标准练习用法和帮助。