针对Java的静态分析工具推荐?
对Java世界的模糊熟悉,我正在寻找一个静态分析工具,它也足够聪明,可以解决它发现的问题。 我在CodePro工具上运行,但又是新来的Java社区,不知道供应商。
你可以根据上述标准推荐什么工具?
FindBugs,PMD和Checkstyle都是很好的select,特别是如果你把它们集成到你的构build过程中。
在我最后一家公司,我们也用Fortify来检查潜在的安全问题。 我们很幸运有一个企业许可证,所以我不知道所涉及的成本。
- FindBugs的
- PMD
- Checkstyle的
- Lint4J
- Classycle
- JDepend
- 娘娘腔
- Google Codepro
我推荐FindBugs。 http://findbugs.sourceforge.net/擅长协助做代码审查。;
来自JetBrains的IntelliJ IDEA。 他们也在.Net社区做ReSharper。
以下是我的免费/开源静态分析工具列表(45项): Java代码质量工具 – 概述
声纳是一种质量控制工具。 它通过遵守编码规则惯例,度量指标和高级指标来评估Java应用程序的质量。
声纳基于以下项目:
-
JavaNCSS :质量度量
-
Checkstyle :Style Cheking
-
PMD :代码扫描潜在的错误。
-
Cobertura :testing覆盖率
您也可以使用Simian进行重复检测。
以上所有都是很棒的工具。 PMD可能是最常见的。
另一个工具是Enerjy 。 它最近变得自由了,所以你可以下载它并自己尝试。 Enerjy更有组织,更适合大型团队。 这使得定制和共享规则变得更加容易。 就个人而言,我不是一个很大的粉丝,但也许你会比我更喜欢它。
CRAP4J不仅是一个很棒的名字,而且非常有用。 其他好的都是以上,最好的(恕我直言)是FindBugs,因为它确实在大代码基础上find了诚实善良的错误。
您可以尝试JavaDepend ,它补充其他静态分析工具,并提供一个CQL语言来查询代码,如数据库,
JavaDepend还提供了许多交互式视图来理解现有的代码库和82个度量标准。
拥有Java产品的商业供应商夫妇:
Klocwork Coverity
他们不会“解决他们发现的问题”(我相信也不会,上面提到的其他任何问题),但这些都是具有不同优势的工具。