Java的静态分析工具推荐?

时间:2020-03-06 14:23:50  来源:igfitidea点击:

熟悉Java世界的我一直在寻找一种静态分析工具,该工具也足够智能,可以解决它发现的问题。我在CodePro工具上运行,但是再次,我是Java社区的新手,并且不了解供应商。

根据上述标准,我们可以推荐哪种工具?

解决方案

我建议使用FindBugs。 http://findbugs.sourceforge.net/有助于进行代码审查。

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

  • 虫子
  • PMD
  • 格纹风格
  • 棉绒4J
  • 依赖
  • 娘娘腔
  • Google Codepro

FindBugs,PMD和Checkstyle都是绝佳的选择,尤其是将它们集成到构建过程中时。

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

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

声纳基于以下项目:

  • JavaNCSS:质量指标
  • Checkstyle:风格Che
  • PMD:对潜在错误进行代码扫描。
  • Cobertura:测试覆盖率

我们也可以使用Simian进行重复检测。

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

另一个工具是Enerjy。它最近免费提供,因此我们可以下载并自己尝试。 Enerjy更有条理,更适合大型团队。这样可以更轻松地自定义和共享规则。就个人而言,我不是超级粉丝,但也许我们会比我更喜欢它。

CRAP4J不仅是一个了不起的名称,而且非常有用。其他的好消息都在上面,最重要的是(IMHO)FindBugs,因为它确实确实可以在一个大型代码库中立即发现诚实到善良的错误。

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

集群
覆盖范围

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