FindBugs是一个专门分析JAVA代码问题的静态代码扫描工具,它是由一位马里兰大学的博士写的,官方网站是:http://findbugs.sourceforge.net/index.html,里面有FindBugs工具的下载,并且也包含了那位博士写的关于静态代码分析引擎的一些论文。FindBugs可以发现的问题包括:多线程竞争问题,性能问题,安全问题,代码规范......。
网站上提供两种形式,一种是单独程序的,一种是eclipse的插件。FindBugs——从 GUI、从命令行、使用 Ant、作为 Eclipse 插件程序和使用 Maven。因为主要用eclipse开发,所以这里就介绍eclipse里的使用方法,其他的google一下很多。从官网上下载 edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821.zip 。个人比较喜欢用link方式安装插件,不过这个解压之后相当于plugins里面的文件,所以建立目录E:/eclipse_foreignplugins/findbugs1.3.9/eclipse/plugins,将解压的文件放到这里,然后在.link文件里指向一下就行了。如果eclipse重启之后随便找个文件右击应该会看到find bugs 选项。
如果没有,可以将eclipse 下的configuration文件夹里的org.eclipse.update文件夹删掉,重启之后应该就可以看到了。通过show view调出findbugs的两个界面,随便对一个java文件(或者工程,或者是一个package)右击选中find bugs,就会扫描哪些代码有问题,其中黄色的虫子是有待改进的地方,还有一种是红色的虫子,这个就是存在bug的地方。然后可以在Bug Explorer中右击一个小虫子,选properties,就可以查看详细信息,
其中有对问题的描述,坏的例子,跟修改过的例子(不是每个bug都有例子的)。如果每次编写完一个文件之后能够排查一下对代码的质量是很有保证的。
详细可参考
http://www.cnblogs.com/hyddd/archive/2009/02/13/1390362.html
http://www.ibm.com/developerworks/cn/java/j-findbug1/