首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

运用PMD检查代码

2012-09-20 
使用PMD检查代码以前不知道PMD,最近听说了PC Lint,才开始接触PMD,这么好的工具,如果善用了,真是可以帮助提

使用PMD检查代码

以前不知道PMD,最近听说了PC Lint,才开始接触PMD,这么好的工具,如果善用了,真是可以帮助提高很多,对自己的代码习惯、规范等都有很大的帮助~

来看看他到底是怎么样的》。。。

??? 很多公司都在用的PC Lint是针对C/c++的一个静态代码审查工具,据说Microsoft把PC Lint审查无错误无警告作为代码要过的第一关;而PMD是个跟他功能类似的针对java的工具,PMD是开源的,可以下载到整个开源项目,其官网上有对其这样的简介(PMD):

简介

PMD scans Java source code and looks for potential problems like:

Possible bugs - empty try/catch/finally/switch statementsDead code - unused local variables, parameters and private methodsSuboptimal code - wasteful String/StringBuffer usageOvercomplicated expressions - unnecessary if statements, for loops that could be while loopsDuplicate code - copied/pasted code means copied/pasted bugs

译:

PMD扫描java代码并寻找潜在的如下问题:

???? 1.可能的bug - 空try/catch/finally/switch语句

???? 2.无效代码 -未使用的变量,参数和私有方法

???? 3.非最佳的代码 - 较耗费资源的String/StringBuffer用法

???? 4.过于复杂的表达式 - 不必要的if语句,或应该为while的for循环

???? 5.重复代码 - 复制/粘贴代码意味着复制/粘贴bug

下载

这里可以下载最新版本的PMD(pmd-4.2.5),里面有源代码和bin zip,下载bin的压缩包就可以了,如下图:

运用PMD检查代码

我下载的时候,速度超慢,10KB/s的跳~

使用

下载下来之后,随便解压到任意目录,然后根据自己的目录修改下面的这个脚本(.bat),放置到解压出来的目录的bin文件夹下即可;


Generated by?PMD?4.2.5?on 2011-09-09 - 14:49:43.

?

(1).生成的报告界面十分友好,每个类存在什么级别的多少个问题,一目了然。

(2).存在的每个问题,如何修改的建议也一一指出,比如

line: 84方法: onResume建议:Local variable 'delay' could be declared final意思是说,这个函数里的变量delay最好加上final关键字~

???? 接下来便是按照提示一个个更改了,相信修改之后代码可以让自己慢慢欣赏了,因为里面检查的大多数规则,都是有着丰富经验的JAVA程序员提供的AST(抽象语义树,不用明白它具体什么意思,可以当做一条检查规则),它从程序容易出现的问题,和不规范的设计等等方面进行了检查。

??? 重要的是长期坚持,这样好的编程习惯应该会不自觉的形成,说实话,PMD真的很严格,苛刻,所以PMD和PC LInt这类工具不少公司在真正使用时都会对规则进行过滤,要不然搞出来的错误实在是太多了~~~

热点排行