Modify Your Codes with PMD(1)
来源:互联网 发布:逐鹿seo军刀破解版 编辑:程序博客网 时间:2024/05/17 20:28
1.代码质量检查的必要性
略(我知道还有人想就此抬杠)
2.Java项目可采用的提高代码质量的工具
我所了解和尝试过的Java项目可采用的代码检查工具(全是开源的):
FindBugs: http://findbugs.sourceforge.net 静态代码分析工具
CheckStyle: http://checkstyle.sourceforge.net 静态代码分析工具
PMD: PMD.sourceforge.net/">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的…libext目录下,然后重启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代码检查规则的全过程。希望朋友们多来指教!谢谢!
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- Modify Your Codes with PMD(1)
- Modify Your Codes with PMD(1)
- Modify Your Codes with PMD(2)
- Modify Your Codes with PMD(2)
- Check Code with PMD
- Pair Programming with PMD
- Securing Development with PMD
- You need to modify your application to build with a manifest:R6034错误解决办法
- Exit Codes With Special Meanings (Linux)
- Modify CSS with JavaScript
- Modify Your Server SMTP Greeting
- Mac OS X - Modify an Installation with Scripts(1)
- HelloWin Demo with codes
- setting up your robot with tf(1)
- PMD
- PMD
- PMD
- pmd
- JAVA 省略语与名词解释
- 建立基于JDBC的resin3.0.8的连接池
- 基于Cocoon的应用(二)及系统权限探讨
- 偶的java日期选择器
- Step-by-Step搭建Linux下的java开发环境
- Modify Your Codes with PMD(1)
- 实现jsp页面得分页显示功能方案
- CheckStyle使用详解
- java中的类型转换
- JGraph 常见问题解答(续二)
- Java学习资源推荐(书籍和网站)
- new StringBuffer(int n)的陷阱
- 如何建立一个带登陆页面的Struts数据库应用程序
- Log4j的中文文档