`

11款用于优化、分析源代码的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个方面:架构与设计、重复、单元测试、复杂性、潜在错误、编码规则、评论。

英文原文:Dzone

译文出自:ITeye

分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    Java源码包100个设计实例.zip

    HAHA CHAT Java仿QQ聊天程序源代码.rar html 标记大全.rar iCHAT聊天室基于Java.rar IP定位器.rar J2ME优化压缩PNG文件.rar J2ME冒险游戏CASPER源代码.rar J2me月光战机游戏源码.rar J2ME黑白棋游戏手机版 v2.1完整...

    java源码包---java 源码 大量 实例

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    基于JAVA CS远程监控系统软件的实现(源代码+WORD论文文档论文).zip

    2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境 (IDE)克服...

    常规Java工具,算法,加密,数据库,面试题,源代码分析,解决方案.zip

    标准库丰富:Java拥有庞大的类库,如Java SE(Java Standard Edition)包含基础API,用于开发通用应用程序;Java EE(Java Enterprise Edition)提供企业级服务,如Web服务、EJB等;而Java ME(Java Micro Edition...

    java源码包2

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    java源码包4

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    JDK(Java Development Kit)是Java开发工具包,提供了Java开发所需的工具和库

    性能工具:JDK包含了性能监控工具,如Java VisualVM、Java Mission Control等,用于监控和优化Java应用程序的性能。 文档和示例:JDK附带了Java API文档和示例代码,帮助开发人员了解Java类库的使用和功能。 ...

    java源码包3

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    JAVA上百实例源码以及开源项目

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款用于反映颜色变化的面板...

    sourcedg:从Java源代码生成系统依赖图-java source code

    用于构建程序依赖关系图的当前可用框架依赖于编译后的源代码,这需要解决依赖关系。 结果,这些框架无法应用于分析无法自动解决依赖关系的遗留代码库,也无法应用于无法解决依赖关系的大型代码库。 在本文中,我们...

    JAVA+access综合测评系统毕业设计(源代码+论文+开题报告+任务书).zip

    JAVA+access综合测评系统是一款用于学生综合素质评价的系统,它能够评估学生在知识、技能、态度等方面的表现,为学生提供更加全面的评价结果。该系统采用JAVA语言开发,运用access数据库进行数据存储,具有良好的...

    LLVM编译器基础架构,LLVM是一个用于构建高度优化的编译器、优化器和运行时环境的工具包

    LLVM编译器基础架构,此目录及其子目录包含LLVM的源代码,LLVM是一个用于构建高度优化的编译器、优化器和运行时环境的工具包。LLVM项目有多个组件。该项目的核心本身被称为“LLVM”。这包含处理中间表示并将其转换为...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款用于反映颜色变化的面板...

    JAVA_API1.6文档(中文)

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...

    Java毕业设计-基于jspm开发的图书管理系统-附源代码和说明文档.rar

    该项目不仅是一个学习Java Web开发技术的优秀范例,也是一个可以直接用于实际场景的实用工具。 该系统实现了图书管理的基本功能,包括图书信息的录入、查询、修改和删除等。同时,为了方便用户的使用,系统还提供了...

    可用于不同的内容关键词,如网页布局、代码编辑、图像处理、网站优化等 该工具箱资源的主要用途是帮助开发人员提高工作效率和代码质量

    **资源名称:** 工具箱源代码+书签文件.zip **内容概要:** 该资源为一个工具箱的源代码及书签文件,包含了多个知识领域、技术关键词和内容关键词相关的在线工具。通过该资源,用户可以快速定位并使用各种实用的...

    Java编程语言的第一个程序.docx

    注释用于解释 Java 源代码,提高程序的可读性。 五、Java 程序的结构 Java 程序的结构主要包括类声明、变量声明、方法声明和语句执行。Java 程序的入口是 main 方法,main 方法是程序的执行入口。 六、public ...

Global site tag (gtag.js) - Google Analytics