`
kuyuyingzi
  • 浏览: 53007 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java代码检查和bug分析工具

 
阅读更多

这里列出了3种Java静态分析工具,每一种工具关注一个特定的能发挥自己特长的领域,我们可以列举一下:

Java代码检查工具PMD

  • Pmd它是一个基于静态规则集的Java源码分析器,该软件功能强大,扫描效率高,是Java程序员debug的好帮手。

    它可以识别出潜在的如下问题:
    – 可能的bug——空的try/catch/finally/switch块。
    – 无用代码(Dead code):无用的本地变量,方法参数和私有方法。
    – 空的if/while语句。
    – 过度复杂的表达式——不必要的if语句,本来可以用while循环但是却用了for循环。
    – 可优化的代码:浪费性能的String/StringBuffer的使用。

    PMD支持的编辑器包括:
    JDeveloper、Eclipse、JEdit、JBuilder、BlueJ、CodeGuide、NetBeans/Sun Java Studio Enterprise/Creator、IntelliJ IDEA、TextPad、Maven、Ant,、Gel、JCreator和Emacs。

    Java代码Bug分析插件FindBugs

    FindBugs是一个能静态分析源代码中可能会出现Bug的Eclipse插件工具。



    下载之后,把解冻后的文件拷贝到 $ECLIPSE_HOME/plugins/目录下,重新启动eclipse即完成安装。

    FindBugs的设置:
    安装好之后,可以通过 Projects > Property > FindBugs标签对其进行设置。设置方法可以根据自己的需要进行调整。

    另外在 问题(Proplems)列表窗口(Windows > 视图 > 问题)的Filter设置里,把FindBugs的有关选项都check上。

    FindBugs地执行:
    选中 所在项目,鼠标右键 > Find Bugs > Find Bugs执行

  • Java代码检查Checkstyle

    CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。

    CheckStyle检验的主要内容
    ·Javadoc注释
    ·命名约定
    ·标题
    ·Import语句
    ·体积大小
    ·空白
    ·修饰符
    ·块
    ·代码问题
    ·类设计
    ·混合检查(包活一些有用的比如非必须的System.out和printstackTrace)

    从上面可以看出,CheckStyle提供了大部分功能都是对于代码规范的检查,而没有提供象PMD和Jalopy那么多的增强代码质量和修改代码的功能。但是,对于团队开发,尤其是强调代码规范的公司来说,它的功能已经足够强大。


分享到:
评论

相关推荐

    Java代码检查工具PMD

    PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。  ...

    轻松有效检查Java代码的三个工具

    轻松有效检查Java代码的三个工具,帮助JAVA开发者提高代码效率

    fingbugs Java Bug检查工具

    Findbugs工具使用方便,检查java代码bug能力极强,是Java程序员必备的工具之一。

    Java程序代码检查工具PMD

    PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。 ...

    pmdJava程序代码检查工具

    PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。 ...

    java代码检查工具 findBugs eclipse插件1.39最新

    FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定...

    代码IDEA提交审查工具-alibaba规范检查

    Alibaba Java Coding Guidelines插件将这些规范直接集成到IDE中,提供给开发者使用,能够帮助开发者编写出符合规范的代码,保证代码的质量和可读性。 快速检查:该插件能够在代码编写过程中实时检查,即时反馈规范...

    静态代码分析工具Infer.zip

    Infer 是 Facebook 最新开源...Facebook 称该工具帮助其每个月检查出数百个应用中潜在的 Bug,例如一些空指针访问、资源和内存泄漏等等。支持 Android 的 Java 和 iOS 的 C 和 Objective-C 代码。 标签:Infer

    Idea代码走查工具FindBus使用以及缺陷分析(含插件)

    FindBugs是一个静态分析工具,用于在Java程序中发现可能存在的bug。它通过检查类或者JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs不注重代码风格和格式,而是专注于检测真正的bug及潜在的...

    FindBugs程序代码检查工具

    Eclipse是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境。... 它是专门用来寻找处于“Bug Patterns”列表中的代码的。 Bug Patterns指很有可能是错误的代码的实例。

    xmljava系统源码-CodeAnalysis:Android静态代码分析

    它能自动检查Java代码为空闲的人进行这项无聊(但重要)的任务。』 正如Checkstyle的开发者所言,这个工具能够帮助你在项目中定义和维持一个非常精确和灵活的代码规范形式。当你启动CheckStyle,它会根据所提供的配置...

    抓取Bug的工具error-prone.zip

    但使用此工具,能够进行编译器的类型分析,能够检测并抓取到编译过程中的 Bug,能够大大的节约开发者的时间。特点:hooks into your standard build, so all developers run it without thinkingtells you about ...

    findbugs、PMD、+checkstyle+集成

    是一款静态代码扫描工具,可以找到Java代码的一些bug。 PMD 也是一款代码分析工具,主要找到代码里的一些问题,例如没有使用的变量、空的catch blocks、无用的对象创建等等。它支持Java, JavaScript, Salesforce....

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    自动化代码检查 sonar 代码规范 阿里巴巴Java开发规范手册 UMPAY——编码规范 日志规范 异常规范 网络 协议 TCP/IP HTTP hession file HTTPS 负载均衡 容器 JBOSS tomcat resin jetty 容灾 ...

    java恶意代码检测源码-config:静态检测的配置文件

    为了保证团队开发中代码的规范以及尽量避免低级bug,我们往往需要一些工具来进行严格的检查。下面将介绍在项目中用到的四种插件 lint、findBugs、PMD、 CheckStyles 的功能和使用方式,以及如何将多个插件整合在一起...

    plugin.eclipse

    1. 简介 FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构...

    FindBugsCloudServer-20110824.zip

    静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷。当然,如果有多年的编写经验,就会知道这些承诺并不是一定能兑现。尽管如此,好的静态分析工具仍然是工具箱中的无价之宝。在这个由两部分组成的系列文章...

    findbugs(3.01).zip

     当Developer完成了某一部分功能模块开发的时候(这通常是指代码撰写完成,并已 debug通过之后),可藉由FindBugs对该模块涉及的java文件进行一次扫描,以发现一些不易察觉的bug或是效能问题。交付新版的时候,开发...

    Java设计模式之单例

    但是Java原生带有的System.out.println()方法却很少在真正的项目开发中使用,甚至像findbugs等代码检查工具还会认为使用System.out.println()是一个bug。  为什么作为Java新手神器的System.out.println(),到了...

Global site tag (gtag.js) - Google Analytics