是否有一个标准的 R 社区资源用于跟踪已知软件包错误或 bug 修复?我的目前方法相当手动。 (注:我将此限制为 CRAN-请参见注1。)
我的使用案例基本上是 bug 监控和软件包更新管理。我已经平均每个月发现了几个 bug(我会认真向作者报告;-))。由于我大部分工作都是在虚拟机上完成的,因此我倾向于在必要的软件包的 bug 状态得到很好的掌握后更新 VM 映像。当一堆 bug 被修复时,我可以删除我的解决方法,这很棒,并更新映像。当我发现 bug 疫情时,我不会创建新的映像。
以下是我目前正在使用的来源:
- NEWS 文件:许多但不是所有软件包都有 NEWS 文件。这肯定是一个有用的起点。
- 软件包主页:一些软件包在 CRAN 上没有 NEWS 文件,但在作者的网站上单独发布更改日志。
- R 项目托管的邮件列表
- 谷歌群组的软件包
- 与软件包作者的个人通信
- 软件包的 bug 跟踪(例如,开发人员可能会使用 Bugzilla)
cdc4R
包:))将显著减少影响。如果没有标准的更新提示系统(例如扩展到update.packages()
的插件,报告可以更新哪些软件包并链接到更改信息),那么用户就需要寻找这些信息。作为这样的用户,试图寻找这些信息,我是否在上面的列表中忽略了某些标准资源?例如,是否有一个R邮件列表,开发人员经常在其中发布他们的更改和错误修复?或者是否有一个聚合这些帖子、发布测试(CRAN发布
R CMD CHECK
输出,似乎如此)或提供其他反馈的网站?
以下是其他资源的一些额外说明,供他人参考:
- 我发现CRANberries对于软件包有一个简洁的
diff
摘要,这对我来说是新的。(我被启发去考虑在diff输出中使用bug
或fix
进行grep。) - R中的
bug.report()
是向R Core或软件包维护者的电子邮件地址发送消息的好方法。 - 值得考虑的几个测试软件包是:
testthat
,RUnit
, 和svUnit
。 - 我的个人“快速测试”是简单地使用
digest
来验证结果是否匹配,而不必测试非常大的对象的等式。
注意1:我将此标记为cran,因为管理所有 R包的宇宙是不可能的。对于一个个体包的作者,他们可以在任何地方分发包,使用任何邮件列表或错误跟踪系统等。但是,这已经超出了R的“主流”。如果我发布一个软件包并提醒用户更改、漏洞和漏洞修复,我会选择CRAN+ NEWS+ Bugzilla+ Google Groups+ R-Forge(和/或RForge)等,但还有其他标准报告机制缺失吗?
某种程度上,这个注释也是为了询问开发者是否被鼓励使用某种机制。我怀疑没有标准,因为R核心成员的软件包在错误和更改报告方面做了许多不同的事情。
注意2:我也正在添加 administration(尽管其他内容可能更合适),因为这也涉及到管理R。对于可重复性,包的管理非常重要;当有多个用户或更多移动的部分时,保持对错误和修复的认识成为一项管理任务,同时也是依赖于外部包的开发的重要考虑因素。如果另一个标签,例如system-administration更合适,则我可以进行更改。