57

由于对 Java 世界有点熟悉,我在谷歌上搜索一个静态分析工具,它也足够聪明,可以解决它发现的问题。我在 CodePro 工具上运行过,但我还是 Java 社区的新手,不了解供应商。

根据上述标准,您可以推荐什么工具?

4

9 回答 9

48
于 2008-09-18T22:49:44.097 回答
38

FindBugs、PMD 和 Checkstyle 都是很好的选择,尤其是如果您将它们集成到构建过程中。

在我上一家公司,我们还使用Fortify来检查潜在的安全问题。我们很幸运拥有企业许可证,所以我不知道所涉及的成本。

于 2008-09-18T23:05:22.250 回答
13

我推荐 FindBugs。 http://findbugs.sourceforge.net/擅长协助进行代码审查。

于 2008-09-18T22:21:09.610 回答
11

来自 JetBrains 的 IntelliJ IDEA。他们还在 .Net 社区中使用 ReSharper。

于 2008-09-18T22:23:26.267 回答
7

声纳是一种质量控制工具。它通过遵守编码规则约定、度量标准和高级指标来衡量 Java 应用程序的质量。

Sonar 基于以下项目:

您还可以使用Simian进行重复检测。

于 2008-09-19T07:40:10.827 回答
1

CRAP4J不仅是一个很棒的名字,而且非常有用。其他好的都在上面,最重要的是(恕我直言)是 FindBugs,因为它确实可以立即在大型代码库中找到诚实至善的错误。

于 2008-09-24T13:21:54.743 回答
1

您可以尝试JavaDepend,它补充了其他静态分析工具,并提供了 CQL 语言来查询数据库等代码,

JavaDepend 还提供了许多交互式视图来了解现有的代码库和超过 82 个指标。

于 2011-11-08T11:36:51.053 回答
0

以上都是很棒的工具。PMD 可能是最常见的。

另一个工具是Enerjy。它最近变得免费,因此您可以下载并自己尝试。Enerjy 更有条理,更适合大型团队。它使自定义和共享规则变得更加容易。就个人而言,我不是一个大粉丝,但也许你会比我更喜欢它。

于 2008-09-24T13:18:32.817 回答
0

几个提供 Java 产品的商业供应商:

Klocwork 覆盖率

他们不会“解决他们发现的问题”(我相信,上面提到的任何其他问题也不会),但这些都是具有不同优势的工具。

于 2009-06-24T18:57:42.390 回答