我正在密切关注@ hadley的book以了解编写R软件包的最佳实践。我很高兴看到这些关于philosophy的书:为什么roxygen2不会自动更新DESCRIPTION文件中的“Imports”?
任何可以自动化的东西都应该是自动的。只需手动操作,即可尽量少用 。尽可能多地使用功能。
所以,当我在阅读有关的依赖和(在某种程度上)命名空间中的文件导入指令和“进口”之间的混淆不同领域的说明文件,我希望roxygen2
会自动处理两者的他们。 After all
在NAMESPACE提到的每个包还必须存在于 进口或取决于字段。
我希望roxygen2
将在我的函数中使用每个@import,并确保它包含在DESCRIPTION文件中。但它不会自动执行。
所以我要么手动添加到描述文件或几乎手动使用devtools::use_package
。
四处寻找一个答案,我发现这个question在SO,其中@hadley证实在评论认为
目前,该命名空间roclet将修改命名空间,但不 说明
和其他帖子(例如here或here),其中collate_roclet
被讨论,但是“This only matters if your code has side-effects; most commonly because you’re using S4”。
我在想:
- 这样的描述不会自动更新的原因(在某种程度上违背了上述理念,这大概是由
roxygen2
共享)和 - 如果有人已经制作的方式来做到这一点