开启左侧

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

[复制链接]
红筹 发表于 2011-8-16 19:58:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
【红筹:我一个没用过呢,希望对大家有用吧。】


2011年08月10日10:43 来源:ITeye 作者:lihuapi 编辑:王玉圆 评论:--条

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

  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
      中文来源:http://tech.it168.com/a2011/0810/1230/000001230307_all.shtml
欢迎大家多发帖,参与讨论,增进彼此了解。

精彩评论2

正序浏览
etthink 发表于 2011-8-16 20:08:22 | 显示全部楼层
实际就简单自己学习中的遇到一点问题,就很好了,或者你在什么环境下写java也中,我觉得比这个有价值..

点评

恩,写自己遇到的问题这个建议很好,接纳了。谢谢孙老师。  详情 回复 发表于 2011-8-16 21:08
欢迎大家多发帖,参与讨论,增进彼此了解。
红筹 发表于 2011-8-16 21:08:03 | 显示全部楼层
etthink 发表于 2011-8-16 20:08
实际就简单自己学习中的遇到一点问题,就很好了,或者你在什么环境下写java也中,我觉得比这个有价值..

恩,写自己遇到的问题这个建议很好,接纳了。谢谢孙老师。
做好自己!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

4粉丝

13帖子

推荐阅读更多+
会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )