本文将提供一些工具,帮助你优化代码以及检查源代码中的潜在问题。

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个方面:架构与设计、重复、单元测试、复杂性、潜在错误、编码规则、评论。
百纳科技源码官网:www.9ymw.com(高质量源代码下载中心) 微信公众号:myskylmz

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

  1. 11款最好的JavaScript源代码编辑器

    源代码编辑器是一个允许你编辑任何编程语言的源代码的文本编辑器. 它可以是一个独立的应用程序,也可以是内置的一个集成开发环境(IDE). 有一些源代码编辑器能够在程序员编写程序的时候做语法检查,并在第一 ...

  2. android 开发清理内存_2019年 11 款最流行的安卓手机清理工具 总有一款适合你

    1. Wondershare MobileGo Storage Cleaner Wondershare MobileGo Storage Cleaner是一款多功能的 Android APP管理器,具 ...

  3. 11 款超赞的 MySQL 图形化工具,好用!

    大家好,我是宝哥! MySQL 是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购.目前 MySQL 被广泛地应用在中小型 网站中.由于其体积小.速度快.总体拥有成本低,尤 ...

  4. Java程序员最喜欢的11款免费IDE编辑器

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

  5. 11款Java工具:源代码优化与分析

    本文介绍一些Java源代码优化和分析工具,以帮助我们优化代码以及检查源代码中的潜在问题. 本文英文原文来源:http://java.dzone.com/articles/java-tools-sour ...

  6. 干货收藏 |关键词优化攻略!(附11款关键词检索工具)

    关键字搜索是买家查找产品的方式,一个高质量的关键词可以帮助卖家快速增加曝光率.简而言之,利用好关键词机理,能让我们的产品产生更有利的排名因素. 那如何找到合适的关键字,设置关键字时应该注意什么? 今天 ...

  7. 【11款最全最新】Java游戏开发项目合集(上)_Java项目实战_Java练手项目

    黄金矿工.俄罗斯方块.飞机大战.超级玛丽.坦克大战.飞翔的小鸟等等经典小游戏相信很多人都玩过.大家有没有想过亲自制作出这些小游戏呢? 今天给大家分享11款经典小游戏的Java开发教程,快来戳下方视频学 ...

  8. 【11款最全最新】Java游戏开发项目合集_Java项目实战_Java练手项目

    黄金矿工.俄罗斯方块.飞机大战.超级玛丽.坦克大战.飞翔的小鸟.扫雷.王者荣耀.推箱子.贪吃蛇.大鱼吃小鱼这些经典小游戏相信很多人都玩过.那大家有没有想过亲自制作出这些小游戏呢? 下面就给大家分享这1 ...

  9. MySQL第11天:MySQL索引优化分析之性能分析

    MySQL索引优化分析之性能分析 一.MySQL Query Optimizer 二.MySQL常见瓶颈 三.Explain(执行计划) 1.什么是执行计划?          2.执行计划能干什么? ...

最新文章

  1. OpenGL 深度测试depth test 的实例
  2. [luogu3290][SCOI2016]围棋
  3. PP团队圣经巨著《Application Architecture Guide2.0》14章-数据访问层
  4. 使用var,Lombok和Fluxtion轻松处理事件
  5. 一种页面数据错误输入提示方法 【转】
  6. 7天4场直播,涵盖DBA职业发展必备软实力、Oracle和MySQL技术等
  7. MQTT onenet 使用记录
  8. Android ADB设备离线,无法发出命令
  9. php求平均值的函数_最全计算机二级函数关键知识点汇总整理!
  10. php ckfinder basedir,ckfinder后,上传文件
  11. 怎么隐藏php版本,Linux服务器中怎样隐藏PHP版本
  12. 线性调频信号的时频域分析
  13. 网络防火墙开发二三事
  14. (保姆级教程)免费将pdf转化为word文档,不限页数
  15. MYSQL数据库跨服务器实时同步更新实践----文献阅读(污水管网水质预测)
  16. 论文摘要部分如何撰写
  17. 线性回归中的L1与L2正则化
  18. Bootstrap3基础 table-responsive 响应式表格
  19. PS使得背景变成白色但是使得黑色字体颜色加深
  20. zabbix4.0配置钉钉机器人告警详细教程

热门文章

  1. 如何使用Nginx防御DDoS攻击?
  2. mysql 表改名_MySQL库改名、表改名
  3. 从会种田到“慧种田”,传感技术成“刚需”!
  4. 楼梯有n个台阶,一共有多少种上楼的方法?
  5. adb常用命令以及使用
  6. 【CSS】常见选择器用法
  7. 冰蝎各版本工具分析与魔改思路
  8. 你居然不会狄杰斯特算法?惊了!
  9. 智能汽车操作系统行业研究及十四五规划分析报告
  10. unexpected character `w‘ in type specifier 解决方案