`

常用Java代码质量检测评估工具

 
阅读更多
常用Java代码质量检测评估工具


1. PMD from http://pmd.sourceforge.net/ 

PMD能够扫描Java 源代码,查找类似以下的潜在问题: 

可能的bug——try/catch/finally/switch语句中返回空值。
死代码——未使用的局部变量、参数、私有方法。
不理想的代码——使用String/StringBuffer。
过于复杂的表达式——没有必要使用if语句、while循环可以代替for循环。
重复代码——复制/粘贴的代码引发的bug。
PMD集成了JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, 以及 Emacs。 

2. FindBug from http://findbugs.sourceforge.net 

FindBug是一个使用静态方法来查找Java代码漏洞的程序。 

3.Clover from http://www.cenqua.com/clover/ 

这个插件允许你在不离开IDE的环境条件下来衡量和检测覆盖效果。该插件通过使用Apache Ant、Maven来无缝集成其它项目,可以通过命令行界面和API系统轻松集成到传统的构建系统中。 

该插件的特性: 
支持快速、准确、可配置的方法,语句等。
支持丰富的报告格式:HTML、PDF、XML、以及Swing GUI。
精确控制源代码级别的过滤。
支持代码覆盖以及其它指标的图表。
完全兼容JUnit 3.x & 4.x, TestNG, JTiger以及其它的测试框架。
4. Macker from http://innig.net/macker/ 

Macker是一个适用于Java开发人员用来检查架构规则的工具。你可以定制一个适合特定项目架构的规则文件,也可以为您的代码撰写通用的规则说明。 

5. EMMA from http://emma.sourceforge.net/ 

EMMA支持的覆盖类型:方法、类等。
输出报告的格式为:文本、HTML、XML。
输出报告可以高亮显示某些项目。
EMMA不需要访问源代码,可以在输入类中减少调试的信息。
6. XRadar from http://xradar.sourceforge.net/ 

XRadar是一个开放的、为代码生成可扩展报告的工具。目前支持基于Java的所有系统。批量处理的框架可以用来生成HTML/SVG系统的报告。Xradar可以估量代码的大小、复杂性以及代码的重复性、依赖性等。 

7. Hammurapi from http://www.hammurapi.com 

Hammurapi是一款执行Java程序代码的自动检测工具。提供的实例中含有282条Hammurapi代码规则,提供了120多个Java类,这款所谓的检测工具,可以从三个级别来检测代码是否违背了编码标准。 

8. Relief from http://www.workingfrog.org/ 

Relif是一款设计工具,为Java项目提供了崭新的面貌。我们可以充分发挥自己的能力来处理真实的实例——通过检测大小、形状、关系等来简化处理过程。 

9. Hudson from http://hudson-ci.org/ 

Hudson 是一个持续集成工具,使用Java编写,运行在servlet容器中,比如Apache Tomcat或者或GlassFish应用服务器。它支持SCM工具,包括CVS、Subversion、Git和ClearCase。它可以执行Apache Ant、基于Apache Maven的项目、以及任意的shell脚本和 Windows批处理命令。 

10. Cobertura fromhttp://cobertura.sourceforge.net/ 

Cobertura是一个免费的基于jcoverage的Java工具,用于计算代码被测试访问的百分比,它可以被用来确定Java程序中的缺少部分的测试覆盖率。 

11. SonarSource from http://www.sonarsource.org/ 

Sonar是一个管理代码质量的开放平台。因此,它涵盖了代码质量的7个方面:架构与设计、重复、单元测试、复杂性、潜在错误、编码规则、评论。 

英文原文:http://java.dzone.com/articles/java-tools-source-code 


Java代码质量检测评估工具
“五大” 代码分析领域:
* 编码风格
* 冗余代码
* 代码覆盖率
* 依赖项分析
* 复杂度监控
一下列举了一些目前比较流行的工具。网址后面列出了其PR值,可以反映此工具的流行度。
1、编码风格
CheckStyle
Home page: http://checkstyle.sourceforge.net/ (6)
对应的eclipse插件有多个,其中eclipsecs最常用
Home page: http://eclipse-cs.sourceforge.net/ (6)
eclipse插件URL:http://eclipse-cs.sf.net/update/
2、冗余代码
Simian http://www.redhillconsulting.com.au/products/simian/ (5)
PMD 的 CPD http://pmd.sourceforge.net/cpd.html (5)
3、代码覆盖率
EMMA http://emma.sourceforge.net/ (6)
Cobertura http://cobertura.sourceforge.net/ (6)
EclEmma http://update.eclemma.org/ (5)
Coverlipse http://coverlipse.sourceforge.net/ (3)
4、依赖项分析
JDepend http://clarkware.com/software/JDepend.html (6)
5、复杂度监控
Metrics http://metrics.sourceforge.net/ (4)
具有以上两项或两项以上的综合工具(也称为静态分析工具):
1、PMD
Home page: http://pmd.sourceforge.net/ (6)
eclipse插件URL:http://pmd.sourceforge.net/eclipse
2、FindBugs http://findbugs.sourceforge.net/ (6)
eclipse插件URL:http://findbugs.cs.umd.edu/eclipse
FindBugs 检查程序生成的class文件,即分析字节码
PMD 检查源码,分析源代码
3、Jtest http://www.parasoft.com/jtest
4、Jlint http://artho.com/jlint/ (5)
5、Lint4j http://www.jutils.com/ (4)


分享到:
评论

相关推荐

    DesigniteJava:检测气味并计算Java代码的指标

    DesigniteJava是用于用Java编写的代码的代码质量评估工具。 它检测到大量的设计和实现气味。 它还计算许多常用的面向对象的指标。 特征 检测出17种设计气味 命令式抽象 多面抽象 不必要的抽象 未利用的抽象 封装...

    源代码缺陷分析工具Klocwork白皮书K2019.v1.pdf

    Klocwork 软件是 Rogue Wave 公司基于... 对软件质量进行评估,自动生成各种质量方面的统计报表; 能够 从不同纬度对软件进行各种度量;能够提供与多种主流开发 IDE 环境的集成;能够分析超大型软件(上 千万代码行)。

    VB.NET基于WEB房地产评估系统(源代码+lw).zip

    我们的VB项目源码还采用了一些常用的技术和工具,以提高开发效率和代码质量。例如,我们使用了Visual Studio作为开发工具,它提供了一系列的功能和工具,如代码编辑器、调试器和界面设计器,使得开发人员可以快速...

    VB+SQL房地产评估系统设计(源代码+系统).zip

    我们的VB项目源码还采用了一些常用的技术和工具,以提高开发效率和代码质量。例如,我们使用了Visual Studio作为开发工具,它提供了一系列的功能和工具,如代码编辑器、调试器和界面设计器,使得开发人员可以快速...

    VB.net+SQL房地产评估系统设计与实现(源代码+lw).zip

    我们的VB项目源码还采用了一些常用的技术和工具,以提高开发效率和代码质量。例如,我们使用了Visual Studio作为开发工具,它提供了一系列的功能和工具,如代码编辑器、调试器和界面设计器,使得开发人员可以快速...

    ASP基于WEB教学评估系统设计(源代码+thesis).zip

    项目是基于ASP.NET的Web应用程序开发,旨在构建一个高性能、可扩展和可靠的在线平台。我们将使用ASP.NET MVC框架和C#编程...我们将遵循最佳的软件开发实践,进行系统测试和性能测试,以确保应用程序的质量和稳定性。

    2005-2009软件设计师历年真题

     • 软件开发项目管理基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具  • 主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)  • 软件开发工具与环境知识  •...

    ASP+ACCESS教学评估系统毕业设计(源代码+thesis+任务书).zip

    项目是基于ASP.NET的Web应用程序开发,旨在构建一个高性能、可扩展和可靠的在线平台。我们将使用ASP.NET MVC框架和C#编程...我们将遵循最佳的软件开发实践,进行系统测试和性能测试,以确保应用程序的质量和稳定性。

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    CruiseYoung提供的带有详细书签的电子书籍目录 ... 该资料是《Oracle SQL高级编程...第15章 测试与质量保证 415 15.1 测试用例 416 15.2 测试方法 417 15.3 单元测试 418 15.4 回归测试 422 15.5 模式修改 422 15.6...

Global site tag (gtag.js) - Google Analytics