PMD

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

  • 可能的 Bugs:检查潜在代码错误,如空 try/catch/finally/switch 语句
  • 未使用代码(Dead code):检查未使用的变量,参数,方法
  • 复杂的表达式:检查不必要的 if 语句,可被 while 替代的 for 循环
  • 重复的代码:检查重复的代码
  • 循环体创建新对象:检查在循环体内实例化新对象
  • 资源关闭:检查 Connect,Result,Statement 等资源使用之后是否被关闭掉

三、PMD的安装 

       File > Settings > Plugins > Browse repositories 搜索 “PMD”,找到“PMDPlugin”这一项,按照提示进行安装,然后重启即可。

四、使用PMD检测代码

  1、启动PMD检测功能

    (1)从Tools菜单中启动

       通过Tools > Run PMD可以看到如下的界面。从运行结果来看,如果通过该方式启动,扫描的范围就是整个个项目中的文件了。

        Pre Defined:表示预定义的规则,也就是该插件自带的检测规则。后面展开的列表中列处了所有的规则列表,想扫描哪一种类型的问题,点击即可。其中“All”表示使用所有的规则。

        Custom Rules:自定的检测规则。该插件允许用户根据自己的需要自定义检查规则,默认这里是不可点击的,需要在设置中导入自定义规则文件后方可选择。

    (2)从右键菜单中启动

       在文件或者编辑器中点击右键,也可以看到“Run PMD”选项,和从“Tools”菜单中启动一样,这里不赘述了。通过该方式启动, 检测范围取决于鼠标或光标当前所选中的区域。

  2、运行结果

       运行后会出现如下面板:

   

       左边工具栏,鼠标停留在上面会提示其功能,比较简单就不啰嗦了。右边显示了检测结果,这里显示的结果类别取决于我们运行的时候在“Pre Defined”中选择的规则类型,因为前面选择的“All”,所以所有的规则都显示了。当点击具体某一问题项时,会跳转到对应的源码中。

五、配置检测规则

       通过File > Settings > Other Settings > PMD可以打开检测规则的设置界面:

 在“RuleSets(规则设置)”界面可以管理自定义的检测规则。因为在实际工作中,可能有些团队需要根据实际情况自定义检测规则,就可以通过这里导入。

点击“Options”选项卡,在其中可以配置一些检测规则选项

其中重点需要留意的是“Skip TestSource”这一项,因为在项目中有不少Android Studio自动生成的测试代码,如下所示,选择上述选项后可以将其过滤掉。

猜你喜欢

转载自www.cnblogs.com/andy-songwei/p/11830336.html
PMD