• 静态代码检查工具-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自带规则及自定义规则,有兴趣可自己研究下;
    后续有时间在分享下;

  • 相关阅读:
    CF1314G解题报告
    CF1310D解题报告
    CF1310B解题报告
    CF908G解题报告
    oracle的IMU和ora-01555
    oracle事物
    oracle中scn(系统改变号)
    oracle实例恢复之检查点队列
    oracle优化:避免全表扫描(高水位线)
    关于oracle中in和exists的区别
  • 原文地址:https://www.cnblogs.com/idotest/p/5203852.html
Copyright © 2020-2023  润新知