`
vineet
  • 浏览: 20392 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转]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个方面:架构与设计、重复、单元测试、复杂性、潜在错误、编码规则、评论。

英文原文:http://java.dzone.com/articles/java-tools-source-code
分享到:
评论

相关推荐

    java源代码查看工具.zip

    Java源代码查看工具是一款专为Java开发者设计的实用软件,它允许用户查看并理解已编译的Java类文件(.class)的源代码,即使原始的.java文件不可用。这款工具支持多种Java编译器产生的.class文件,确保了广泛的兼容...

    Java转C++代码工具 J2C

    Java转C++代码工具J2C是一个专门用于将Java源代码转换为等效C++代码的工具。这个工具对于那些需要在不支持Java或者需要利用C++特定性能特性的环境中迁移Java项目的人来说非常有用。在深入探讨J2C之前,我们先理解...

    基于JavaParser的代码调用链分析,可以用于分析Java代码的方法调用链.zip

    5. **应用分析结果**:分析结果可以用于优化代码,例如减少不必要的间接调用,避免循环依赖,或者改进设计以提高代码的可读性和可维护性。 除了上述基本步骤,还可以进行更复杂的分析,如: - **静态分析**:检查...

    java词法分析器源代码

    它可能是一个自定义的词法分析器实现,用于处理Java源代码,也可能具备通用性,能够处理其他编程语言。Eclipse是一个流行的Java集成开发环境,使用者可以通过Eclipse来查看和运行这个源代码,进行学习和调试。 在...

    java转js工具

    - 这种工具通常通过解析Java源代码,理解其语法结构,然后根据JavaScript的语法规则生成等效的代码。这个过程涉及到符号表管理、类型转换、方法调用的处理等多个复杂步骤。 - 关键点包括处理Java的类和对象系统、...

    C/C++/Java 源代码注释清除工具

    为了适应这些情况,一种专门用于清除C、C++和Java源代码中注释的工具应运而生。本文将深入探讨这款工具的设计初衷、功能特点、操作便利性以及它在软件开发中的实际应用价值。 首先,这款“C/C++/Java 源代码注释...

    java jdk源代码

    Java JDK源代码是Java开发工具包的原始代码,对于任何想要深入理解Java语言工作原理的开发者来说,它都是一个无价的学习资源。JDK包含了Java运行环境、编译器、类库以及各种工具,它的源代码揭示了Java平台的内部...

    五子棋java全套源代码

    【五子棋Java全套源代码】是一个基于Java Swing开发的桌面应用程序,专为五子棋爱好者设计。在这款游戏中,玩家可以与计算机进行对弈,体验经典的五子棋玩法。Swing是Java的一个图形用户界面(GUI)工具包,它允许...

    java版本词法、语法分析器以及三地址代码生成实验源代码

    它将源代码分解成一个个被称为“标记”(Token)的单元,每个标记代表一种语言元素,如关键字、标识符、常量或运算符。在Java实现中,词法分析器通常会基于正则表达式来识别和提取这些标记,例如使用Java的`java....

    Java反编译工具,JAVA查看源文件、jar包里源代码的工具

    Java反编译是Java开发过程中一个重要的辅助工具,主要用于查看已编译的`.class`文件或`.jar`包中的源代码。在某些情况下,我们可能需要查看这些源代码,例如学习某个开源库的工作原理,或者排查Java应用的问题,而...

    实验7 Java源代码分析程序

    Java源代码分析程序是一种用于理解、检查或操作Java源代码的工具,它通常涉及语法解析、语义分析以及代码质量检查等步骤。在本实验中,我们将探讨Java初级阶段如何创建一个简单的源代码分析程序。 一、Java语言基础...

    Java源代码反编译专家

    在Java开发领域,有时我们可能会遇到只拥有编译后的.class文件而没有对应的.java源代码的情况,此时,就需要借助Java源代码反编译工具来帮助我们理解并分析程序的运行逻辑。 "Java源代码反编译专家"是一款专为此...

    BBS论坛源代码JAVA版

    【标题】"BBS论坛源代码JAVA版"是基于JAVA编程语言实现的一款在线讨论平台的源码,旨在提供一个互动交流的空间,用户可以在这里发布话题、回复他人、进行讨论。这款源码对于学习JAVA Web开发,尤其是对BBS系统设计感...

    软件测试工具,静态源代码测试工具

    PMD是一款开源的Java源代码分析工具,它能够检测出不规范、可能错误的代码,并提供改进建议。PMD支持多种编程语言,包括Java、C#和XML。其核心功能包括:未使用的变量检测、空句检测、避免使用复杂的表达式等。通过...

    java画图工具的源代码

    Java画图工具源代码分析 Java作为一种面向对象的编程语言,具有丰富的图形用户界面(GUI)库,使得开发画图工具变得相对简单。本篇将深入解析标题为"java画图工具的源代码"的项目,它展示了如何利用Java语言构建一...

    C,C++,Java源代码分析器

    在计算机科学领域,源代码分析器是一种至关重要的工具,它能帮助开发者理解和优化他们的程序。本文将深入探讨一个针对C、C++和Java语言的源代码分析器,虽然其用户界面为DOS形式且全英文,但这并不妨碍我们挖掘其...

    Java代码直接转化成smail代码工具(完整项目)

    2. **Java2Smali工具**:这个工具的核心功能就是将Java源代码转换成Smali代码,便于分析和修改。它可能是一个命令行工具,接收Java源文件作为输入,输出对应的Smali文件。使用该工具,开发者可以深入理解代码执行的...

    JAVA源代码反编译.rar

    在给定的“JAVA源代码反编译.rar”压缩包中,可能包含了一款名为“1.4版本”的Java反编译工具,用于帮助用户查看和理解Java字节码。 Java反编译工具有很多,例如JAD (Java Decompiler),FernFlower,Procyon等。...

    1.源代码统计工具,用于统计c/C++,JAVA,JS,XML,JSP等格式代码

    源代码统计工具是一种重要的软件开发辅助工具,它主要用于分析项目中的源代码,提供关于代码量、文件数量、语言分布、复杂度等各种统计信息。这样的工具对于项目管理、代码审查、性能优化以及理解代码库的规模和结构...

    Apk 反编译成Java源代码工具

    本篇文章将详细介绍如何使用"Apk 反编译成Java源代码工具"来获取APK中的源码。 首先,我们需要了解反编译的基本概念。反编译是将已编译的二进制代码转换回接近原始源代码的过程。在Android世界里,APK中的代码主要...

Global site tag (gtag.js) - Google Analytics