【发布时间】:2016-09-08 16:16:00
【问题描述】:
我正在努力密切关注@hadley 的book,以学习编写 R 包的最佳实践。我很高兴读到这些关于本书philosophy 的台词:
任何可以自动化的东西都应该自动化。尽量少做 可以用手。尽可能多地使用函数。
因此,当我阅读依赖关系以及 NAMESPACE 文件中的导入指令与DESCRIPTION 文件中的“导入:”字段之间的(某种)令人困惑的差异时,我希望roxygen2 会自动处理它们. After all
NAMESPACE 中提到的每个包也必须存在于 Imports 或 Depends 字段。
我希望roxygen2 会在我的函数中获取每个@import,并确保它包含在DESCRIPTION 文件中。但它不会自动执行此操作。
所以我要么必须手动将其添加到说明文件中,要么几乎手动使用devtools::use_package。
四处寻找答案,我在 SO 中找到了这个 question,@hadley 在 cmets 中确认了
目前,命名空间 roclet 将修改 NAMESPACE 但不会 说明
和其他帖子(例如here 或here)讨论了collate_roclet,但“This only matters if your code has side-effects; most commonly because you’re using S4”。
我想知道:
- DESCRIPTION 没有自动更新的原因(有点与上述哲学相矛盾,这可能由
roxygen2共享)和 - 如果有人已经想出了办法
【问题讨论】: