分享
 
 
 

Modify Your Codes with PMD(1)

王朝java/jsp·作者佚名  2006-01-30
窄屏简体版  字體: |||超大  

1.代码质量检查的必要性

略(我知道还有人想就此抬杠)

2.Java项目可采用的提高代码质量的工具

我所了解和尝试过的Java项目可采用的代码检查工具(全是开源的):

FindBugs: http://findbugs.sourceforge.net 静态代码分析工具

CheckStyle: http://checkstyle.sourceforge.net 静态代码分析工具

PMD: http://pmd.sourceforge.net 静态代码分析工具

JUnit: http://www.junit.org 单元测试工具

以上工具都可以与Ant结合使用,并可以集成到Eclipse中。(以后慢慢学、慢慢说)

FindBugs、PMD、CheckStyle都提供开发团队自定义检查规则的可能,通过团队自己的开发,可使这些工具按照开发团队自身的规范来检查代码。

多罗嗦两句:

FindBugs和PMD都是以分析Java代码本身为主要功能,而Checkstyle则以分析格式为主。软件工程中对代码质量的定义往往不只是对代码编写的要求,JavaDoc或代码中的注释也是也属于代码质量检查的范围,用FindBugs、PMD就不行了,用CheckStyle吧。

单就Java代码(非注释、非JavaDoc)检查来看,FingBugs和PMD也不同:

FingBugs分析的对象是*.class文件,而PMD的分析对象*.java源代码。分析原理当然也不同了:FindBugs是以字节码设计库(Code Engineering Library)为基础的,欲自行编写需熟练掌握字节码设计库,这是另一个开源项目(http://jakarta.apache.org/bcel/),牛人们看看吧。PMD则是基于抽象语义树(AST,Abstract Syntax Tree)的,即:将Java源代码根据其语义分析为由若干语义节点(Node)的树状结构,PMD根据AST上各节点之间的关系来分析代码中错误或不符合规范的地方。

3.下载安装和使用PMD

PMD工具以及源码可以在其项目首页上下载到,针对各种Java IDE的插件也以下载到,我下了个JBuilder的插件――pmd-jbuilder-1.2.zip。下载后将zip中4个*.jar文件拷入Jbuilder的…\lib\ext目录下,然后重启JBuilder。

重启Jbuilder后,Jbuilder的工具条栏会出现有关PMD的三个工具条按钮:

“PMD Check File”--用PMD检查当前*.java源代码文件;

“PMD Check Project”--用PMD检查当前Java工程中的所有*.java文件;

“CPD Check Project”--用PMD中的CPD工具检查当前Java工程中copy/paste的代码

点击“PMD Check File”试一下,PMD会根据其已经内建的规则(PMD称之为Rule)检查当前*.java源代码文件中的不符合规范(或是不够优化)的地方,每一处均给出所在行号和简单说明。开发人员可以根据其提示进行改进或优化。我查了一下我最近的代码,还真不少,有些错误的确有可能引起严重后果。感谢PMD!

4.总结

PMD是工具,不是方法。开发团队在提高代码质量的努力中需要这样的工具来支持。PMD不但内建若干代码检查的规则(Rule),还可以自行开发(如前面第2节所提到的)规则。下一次,我会分享我自行开发PMD代码检查规则的全过程。希望朋友们多来指教!谢谢!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有