本文将提供一些工具,帮助你优化代码以及检查源代码中的潜在问题。
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源代码查看工具是一款专为Java开发者设计的实用软件,它允许用户查看并理解已编译的Java类文件(.class)的源代码,即使原始的.java文件不可用。这款工具支持多种Java编译器产生的.class文件,确保了广泛的兼容...
Java转C++代码工具J2C是一个专门用于将Java源代码转换为等效C++代码的工具。这个工具对于那些需要在不支持Java或者需要利用C++特定性能特性的环境中迁移Java项目的人来说非常有用。在深入探讨J2C之前,我们先理解...
5. **应用分析结果**:分析结果可以用于优化代码,例如减少不必要的间接调用,避免循环依赖,或者改进设计以提高代码的可读性和可维护性。 除了上述基本步骤,还可以进行更复杂的分析,如: - **静态分析**:检查...
- 这种工具通常通过解析Java源代码,理解其语法结构,然后根据JavaScript的语法规则生成等效的代码。这个过程涉及到符号表管理、类型转换、方法调用的处理等多个复杂步骤。 - 关键点包括处理Java的类和对象系统、...
它可能是一个自定义的词法分析器实现,用于处理Java源代码,也可能具备通用性,能够处理其他编程语言。Eclipse是一个流行的Java集成开发环境,使用者可以通过Eclipse来查看和运行这个源代码,进行学习和调试。 在...
为了适应这些情况,一种专门用于清除C、C++和Java源代码中注释的工具应运而生。本文将深入探讨这款工具的设计初衷、功能特点、操作便利性以及它在软件开发中的实际应用价值。 首先,这款“C/C++/Java 源代码注释...
Java JDK源代码是Java开发工具包的原始代码,对于任何想要深入理解Java语言工作原理的开发者来说,它都是一个无价的学习资源。JDK包含了Java运行环境、编译器、类库以及各种工具,它的源代码揭示了Java平台的内部...
2. **Java2Smali工具**:这个工具的核心功能就是将Java源代码转换成Smali代码,便于分析和修改。它可能是一个命令行工具,接收Java源文件作为输入,输出对应的Smali文件。使用该工具,开发者可以深入理解代码执行的...
它将源代码分解成一个个被称为“标记”(Token)的单元,每个标记代表一种语言元素,如关键字、标识符、常量或运算符。在Java实现中,词法分析器通常会基于正则表达式来识别和提取这些标记,例如使用Java的`java....
【五子棋Java全套源代码】是一个基于Java Swing开发的桌面应用程序,专为五子棋爱好者设计。在这款游戏中,玩家可以与计算机进行对弈,体验经典的五子棋玩法。Swing是Java的一个图形用户界面(GUI)工具包,它允许...
Java源代码分析程序是一种用于理解、检查或操作Java源代码的工具,它通常涉及语法解析、语义分析以及代码质量检查等步骤。在本实验中,我们将探讨Java初级阶段如何创建一个简单的源代码分析程序。 一、Java语言基础...
Java反编译是Java开发过程中一个重要的辅助工具,主要用于查看已编译的`.class`文件或`.jar`包中的源代码。在某些情况下,我们可能需要查看这些源代码,例如学习某个开源库的工作原理,或者排查Java应用的问题,而...
【标题】"BBS论坛源代码JAVA版"是基于JAVA编程语言实现的一款在线讨论平台的源码,旨在提供一个互动交流的空间,用户可以在这里发布话题、回复他人、进行讨论。这款源码对于学习JAVA Web开发,尤其是对BBS系统设计感...
Java画图工具源代码分析 Java作为一种面向对象的编程语言,具有丰富的图形用户界面(GUI)库,使得开发画图工具变得相对简单。本篇将深入解析标题为"java画图工具的源代码"的项目,它展示了如何利用Java语言构建一...
在计算机科学领域,源代码分析器是一种至关重要的工具,它能帮助开发者理解和优化他们的程序。本文将深入探讨一个针对C、C++和Java语言的源代码分析器,虽然其用户界面为DOS形式且全英文,但这并不妨碍我们挖掘其...
PMD是一款开源的Java源代码分析工具,它能够检测出不规范、可能错误的代码,并提供改进建议。PMD支持多种编程语言,包括Java、C#和XML。其核心功能包括:未使用的变量检测、空句检测、避免使用复杂的表达式等。通过...
在Java开发领域,有时我们可能会遇到只拥有编译后的.class文件而没有对应的.java源代码的情况,此时,就需要借助Java源代码反编译工具来帮助我们理解并分析程序的运行逻辑。 "Java源代码反编译专家"是一款专为此...
标题 "C#源代码转成Java代码" 描述了一个转换过程,即将用C#语言编写的源代码转换为Java语言的代码,以便于在Android平台上使用。这个过程涉及到跨平台编程和语言互操作性,是软件开发中的一个重要环节。下面我们将...
Java转C工具是一种编程语言转换器,主要用于将Java源代码转换为C或C++源代码,以便在不支持Java虚拟机(JVM)的平台上运行。这种工具的主要目的是跨平台移植,尤其是在嵌入式系统或者对性能有严格要求的环境中,Java...
在给定的“JAVA源代码反编译.rar”压缩包中,可能包含了一款名为“1.4版本”的Java反编译工具,用于帮助用户查看和理解Java字节码。 Java反编译工具有很多,例如JAD (Java Decompiler),FernFlower,Procyon等。...