是否有标准的 R 社区资源来及时了解软件包的已知错误或错误修复?我目前的方法是相当手动的。(注意:我将其限制为 CRAN - 请参阅注 1。)
我的用例基本上是错误监视和包更新管理。一段时间以来,我平均每个月都会发现几个错误(我会及时向作者报告;-))。由于我的很多工作都是使用虚拟机完成的,所以当我对必要软件包的错误状态有很好的处理时,我倾向于更新 VM 映像。当一堆错误被修复时,我可以删除我的解决方法,这很棒,我更新了图像。当我发现 bug 爆发时,我不会创建新图像。
以下是我目前使用的来源:
- NEWS 文件:许多(但不是全部)包都有 NEWS 文件。这些当然是一个有用的起点。
- 包主页:有些包在 CRAN 上没有 NEWS 文件,但在作者网站上单独发布了更改日志。
- R 项目托管的邮件列表
- 用于包的 Google Groups
- 与包作者的个人交流
- 包的错误跟踪(例如,开发人员可能使用 Bugzilla)
成为第一个发现错误的人是一回事(我承认错误会发生在我们所有人身上),迟到发现一个已知的错误,或者更好的是,已经修复的错误是另一回事。两者都减慢了我自己的编码速度,但更好的错误监控(也许我们需要一个cdc4R
包:))会显着减少影响。update.packages()
如果没有标准的更新警报系统(例如,对可以更新哪些软件包的报告的扩展以及指向有关已更改内容的信息的链接),用户的工作就是寻找这些信息。
作为这样的用户,试图寻找这些信息,是否有一些我在上面的列表中忽略的标准资源?例如,是否有一个 R 邮件列表,开发人员可以在其中发布他们的更改和错误修复?或者是否有一个网站可以汇总这些帖子、发布测试(R CMD CHECK
似乎是 CRAN 发布的输出),或者提供一些其他反馈?
为了他人的利益,关于其他资源的一些额外说明:
- 我看到CRANberries对包装有一个简洁的
diff
总结,这对我来说是新的。(我受到启发考虑在 diff 输出中使用 grep。bug
)fix
bug.report()
在 R 中是向 R Core 或包维护者的电子邮件地址发送消息的好方法。- 几个值得考虑的测试包是:
testthat
、RUnit
和svUnit
。 - 我个人的“快速测试”是简单地用于
digest
验证结果是否匹配,而无需测试非常大的对象的相等性。
注 1:我标记这个cran是因为不可能管理所有R 包的宇宙。对于个人包作者,可以在任何他们喜欢的地方分发包,使用他们喜欢的任何邮件列表或错误跟踪系统等。但是,这超出了 R 的“主流”。我是否要发布一个包并提醒用户对于更改、错误、错误修复,我会选择 CRAN + NEWS + Bugzilla + Google Groups + R-Forge(和/或 RForge)等,但是此列表中是否缺少另一种标准报告机制?
从某种意义上说,这篇笔记还用于询问是否存在鼓励开发人员使用的机制。我怀疑没有标准,因为 R Core 成员的包似乎在错误和更改报告方面做了很多不同的事情。
注意 2:我还添加了管理(尽管其他内容可能更合适),因为这也与管理 R 有关。对于可重复性,包的管理非常重要;当有多个用户或更多移动部件时,了解错误和修复成为一项管理任务,以及依赖于外部包的开发的重要考虑因素。如果另一个标签,例如系统管理更合适,我愿意改变。