9

I already have used the Google CodePro AnalytiX but I never used Findbugs.

My first impression with Findbugs is that it is harder to configure. After that, I believe that both are similar.

What's your opinion?

Just one more question related: None of these plugins sent our code to the servers, right? (for example, if we use CodePro our code isn't sent to Google Servers).

4

1 回答 1

16

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


原始答案

CodePro Analytix 更好:

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

Findbugs 更好:

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

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

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

于 2012-07-31T19:08:35.340 回答