文档章节

11款用于优化、分析源代码的Java工具

endlessBei
 endlessBei
发布于 2014/09/04 10:23
字数 890
阅读 49
收藏 0
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个方面:架构与设计、重复、单元测试、复杂性、潜在错误、编码规则、评论。

© 著作权归作者所有

endlessBei
粉丝 1
博文 35
码字总数 10205
作品 0
渝中
程序员
私信 提问
Java 程序员最喜欢的 11 款免费 IDE 编辑器

Java开发人员需要花费大量的时间埋头于Java代码中,使用各种不同的IDE(Intergrated Development Environment)来开发Java代码,所以下面我将为大家介绍11个不同的IDE,这些IDE提供了多种功能...

oschina
2016/05/24
17.5K
42
JVM系列第4讲:从源代码到机器码,发生了什么?

在上篇文章我们聊到,无论什么语言写的代码,其到最后都是通过机器码运行的,无一例外。那么对于 Java 语言来说,其从源代码到机器码,这中间到底发生了什么呢?这就是今天我们要聊的。 如下...

陈树义
2018/11/10
0
0
7 款开源 Java 反编译工具

今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。尤其是像.NET、Java这...

wwwmmm
2014/09/24
8.3K
0
Sonar JAVA 4.3 发布,Java 代码质量分析

Sonar Java 4.3 发布了,Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、...

王练
2016/12/14
1K
2
Java JDK 11:现在可以使用所有新功能

删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能 目录 哪里可以下载JDK 11 Java 11 JDK中的新功能 从Java JDK 11中删除了什么 Java Development Kit(JDK)11现已普遍可用,可供...

GuoMengyue
2018/09/26
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

为什么要在网站中应用CDN加速?

1. 网页加载速度更快 在网站中使用CDN技术最直接的一个好处就是它可以加快网页的加载速度。首先,CDN加速的内容分发是基于服务器缓存的,由于CDN中缓存了不少数据,它能够给用户提供更快的页...

云漫网络Ruan
28分钟前
4
0
亚玛芬体育(Amer Sports)和信必优正式启动合作开发Movesense创新

亚玛芬体育和信必优正式启动合作开发Movesense创新,作为亚玛芬体育的完美技术搭档,信必优利用Movesense传感器技术为第三方开发移动应用和服务。 Movesense基于传感器技术和开放的API,测量...

symbiochina88
39分钟前
3
0
创龙TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA核心板规格书

SOM-TL437xF是一款广州创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA芯片设计的核心板,采用沉金无铅工艺的10层板设计,适用于高速数据采集和处理系统、汽车导航、工业自动化等领...

Tronlong创龙
40分钟前
3
0
好程序员Java学习路线分享MyBatis之线程优化

  好程序员Java学习路线分享MyBatis之线程优化,我们的项目存在大量用户同时访问的情况,那么就会出现大量线程并发访问数据库,这样会带来线程同步问题,本章我们将讨论MyBatis的线程同步问...

好程序员官方
46分钟前
6
0
IDEA 自定义方法注解模板

IDEA 自定义方法注解模板 1、使用效果 /*** 计算交易费用* @Author wangjiafang* @Date 2019/9/11* @param feeComputeVo* @return*/@PostMapping("/v1/fee_compute")public ApiResp......

小白的成长
46分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部