zoukankan      html  css  js  c++  java
  • 静态代码检查工具-PMD初学者入门篇

    前言:
    PMD是一款静态代码分析工具,它能够自动检测各种潜在缺陷以及不安全或未优化的代码。
    PMD更多地是集中在预先检测缺陷上,它提供了高度可配置的丰富规则集,用户可以方便配置对待特定项目使用那些规则。

    安装及使用:
    1.在Eclipse中 安装 PMD插件运行方式
    ECLIPSE菜单 > HELP > Install New Software >
    弹出窗口中在 work with中输入 PMD - http://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/
    ,单击后面的”增加” > 确认>
    会自动下载插件,下载需要点时间,>选择安装 subclipse 3 即可;
    PMD安装

    2.激活PMD插件。Ecplise的菜单Project->Properties->PMD,在这个窗口选择要应用的规则,并指定相对重要性,为特定项目详细配置PMD,目前只需要选中Enable PMD复选框,保留默认规则集。

    3.运行PMD。单击项目资源,右键->PMD->Check code with PMD。在Violation OverView视图中按问题严重程度列出PMD问题。在Violations outLinew右键show Details可以查看更详细的规则描述以及说明规则的示例代码。
    (PMD可检测一个项目、类、单个文件等等)
    PMD安装

    4.几种形式的检查结果
    PMD安装
    PMD安装
    右键每条结果,可以进行几个操作
    Show Details… :显示明细
    Mark as reviewed:(标记为已审查)菜单项,这将向代码添加一个注释,以指示PMD在这里忽略此问题。
    这里写图片描述
    Remove violation:可以手工纠正问题,并使用Remove violation(删除违例)直接从列表中删除此问题
    clear violations reviews:清除之前 标记

    PMD也可以直接检查一个项目,生成多种格式的报告文件
    PMD安装

    PMD安装
    附录:

    PMD附带了许多可以直接使用的规则
    潜在的bug:空的try/catch/finally/switch语句
    未使用的代码:未使用的局部变量、参数、私有方法等
    可选的代码:String/StringBuffer的滥用
    复杂的表达式:不必须的if语句、可以使用while循环完成的for循环
    重复的代码:拷贝/粘贴代码意味着拷贝/粘贴bugs
    循环体创建新对象:尽量不要再for或while循环体内实例化一个新对象
    资源关闭:Connect,Result,Statement等使用之后确保关闭掉
    此外,还可以自定义规则,检查Java代码是否符合某些特定的编码规范。例如,你可以编写一个规则,要求PMD找出所有创建Thread和Socket对象的操作。 也可以根据实际情况更改自带规则的检查内容

    PMD自带规则及自定义规则,有兴趣可自己研究下;
    后续有时间在分享下;

  • 相关阅读:
    win7下的vxworks总结
    ubuntu 无法获得锁 /var/lib/dpkg/lock
    项目中用到了的一些批处理文件
    win7下安装 WINDRIVER.TORNADO.V2.2.FOR.ARM
    使用opencv统计视频库的总时长
    January 05th, 2018 Week 01st Friday
    January 04th, 2018 Week 01st Thursday
    January 03rd, 2018 Week 01st Wednesday
    January 02nd, 2018 Week 01st Tuesday
    January 01st, 2018 Week 01st Monday
  • 原文地址:https://www.cnblogs.com/idotest/p/5203852.html
Copyright © 2011-2022 走看看