【问题标题】:Need to document arguments in functions which are not exported in R package?需要记录未在 R 包中导出的函数中的参数?
【发布时间】:2017-05-15 15:05:32
【问题描述】:

我正在使用devtools 包来检查我正在开发的包是否可以提交给 CRAN。

使用Roxygen2devtools,我用#'@export 记录了少量函数,以便在加载我正在开发的包时可用。

但是,当我运行devtools::check() 时,似乎我需要记录未导出的函数,即可能由导出的函数调用的函数,但使用该包的人既不可用也不需要这些函数.以下是devtools::check() 输出的示例:

checking Rd \usage sections ... WARNING
Undocumented arguments in documentation object 'calculate_agreement'
  ‘a_assign_star’ ‘a_assign’

虽然没有导出函数,但我是否需要记录这些参数?

【问题讨论】:

  • 您需要记录导出函数的所有参数。当您导出函数但未描述其所有参数时会出现此消息。

标签: r devtools


【解决方案1】:

我认为这里的问题(根据过去的经验)是您可能在函数的序言中使用了 Roxygen 注释分隔符 #'。这(我很确定)会触发 .Rd 文件的创建(以及记录参数的需要),无论您是否有 @export 指令。在这种情况下,我的解决方案是使用常规的 # 评论而不是 #'

基于this answer,明确的@keywords internal 指令可能也可以工作(但我没有尝试过)。

【讨论】:

  • 那么记录(我的意思是使用 Roxygen)非导出函数是否被认为是不好的做法?它使它们出现在包文档中,而它们不能通过普通的:: 运算符获得,这可能会误导用户?
  • 我认为,如果您使用 @keywords internal 指令,所有未导出的软件包最终都会出现在一个“内部”手册页上(您可以在其中解释它们为何存在... ?
猜你喜欢
  • 1970-01-01
  • 2020-10-01
  • 1970-01-01
  • 2019-09-16
  • 2016-04-17
  • 2014-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多