Findbugs vs Google CodePro AnalytiX (Eclipse plugins)



我已经使用过Google CodePro AnalytiX,但从未使用过Findbugs。

我对Findbugs的第一印象是它更难配置。在那之后,我相信两者是相似的。

你有什么意见?

还有一个问题:这些插件都没有把我们的代码发送到服务器,对吧?(例如,如果我们使用CodePro,我们的代码不会发送到谷歌服务器)。

2016年更新:CodePro Analytix不再可用,请使用Findbugs


原始答案

在CodePro Analytix:中表现更好

  • 每个项目的问题级别(错误、警告、信息)都可以更改。Findbugs只能启用/禁用问题
  • 许多问题可以进行详细配置(如列入黑名单的脏话列表)
  • 可以向您显示当前打开的编辑器中的所有问题(并在打开或关闭编辑器时进行调整),这比选择包、项目或其他内容更方便,然后手动触发对它们的扫描
  • 有几个问题可以自动修复(比如将所有参数声明为final)。在Findbugs中,所有操作都必须手动完成

在Findbugs中表现更好:

  • 更专注于典型的Java编程错误(但没有像CodePro那样丰富的问题选择)
  • 做更多需要大量上下文信息的分析
  • 可以在Eclipse中本地使用,也可以在像Hudson/Jenkins这样的集成服务器上使用
  • Hudson/Jenkins和本地IDE上的配置可以共享,因此您可以在IDE和服务器上看到完全相同的结果
  • 有一个"云模式",分布式团队可以共享他们的发现(以及对发现的评估),这样他们就不会再次检查相同的问题

以上所有内容都与如何使用该工具有关。错误的实际发现可能在很大程度上取决于要检查的项目。在过去,我经常建议同时使用这两种方法,首先使用Findbugs,然后使用CodePro

使用Findbugs进行第一次检查,因为它会发现更严重的问题。但在这些问题得到解决后,你可能会发现自己陷入了很多嘈杂的问题(甚至是错误的发现)。因此,在解决了Findbugs最严重的问题后,我建议改用CodePro Analytix,因为它的错误发现较少,并且可以进行更详细的控制。

最新更新