- 浏览: 567435 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
1、FindBugs介绍
FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。
最新版本是1.3.9.20090821,下载地址http://findbugs.sourceforge.net/downloads.html。
FindBugs运用Apache BCEL 库分析类文件(class文件)而不是源代码,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs的检测器已增至300多条,被分为不同的类型,常见的类型如下:
· 正确性(Correctness):这种归类下的问题在某种情况下会导致bug,比如错误的强制类型转换等。
· 最佳实践反例(Bad practice):这种类别下的代码违反了公认的最佳实践标准,比如某个类实现了equals方法但未实现hashCode方法等。
· 多线程正确性(Multithreaded correctness):关注于同步和多线程问题。
· 性能(Performance):潜在的性能问题。
· 安全(Security):安全相关。
· 高危(Dodgy):FindBugs团队认为该类型下的问题代码导致bug的可能性很高。
2、在Eclipse中安装FindBugs插件
下载Eclipse plugin 的版本,解压zip文件。
将解压后的文件放到Eclipse的Plugin中。
重新启动Eclipse 。
我使用的是MyEclipse8.5可能路径和大家的不太一样,我是放到了路径Genuitec/MyEclipse 8.5/dropins下面
3、在Eclipse中使用FindBugs
重新启动eclipse
打开FindBugs视图
执行Find Bug 任务
右键单击你要检测的工程、包或文件,-->Find Bugs-->Find Bugs。
check完成后将在Bug Explorer视图中看到问题列表,该列表以问题类型组织。
展开列表,双击列表中具体的问题就可以定位的具体的代码行。
4、配置FindBugs
在这里可以对FindBugs规则等进行详细设置。
选择你的项目,右键 => Properties => FindBugs =>
1 Run Automatically开关
当此项选中后,FindBugs将会在你修改Java类时自动运行,如你设置了Eclipse自动编译开关后,当你修改完Java文件保存,FindBugs就会运行,并将相应的信息显示出来。
当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。
2 Detector Configuration选择项
在这里你可以选择所要进行检查的相关的Bug Pattern条目,你可以根据需要选择或去掉相应的 检查条件。
3 Minimum priority to report选择项
这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:
你选择了High选择项,那么只有是High级别的提示信息才会被显示。
你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。
你选择了Low选择项,那么所有级别的提示信息都会被显示。
4 Report bug categories选择项
在这里是一些显示Bug分类的选择:
Malicious code vulnerability关于恶意破坏代码相关方面的
Correctness关于代码正确性相关方面的
Internationalization关于代码国际化相关方面的
Performance关于代码性能相关方面的
Multithreaded correctness关于代码多线程正确性相关方面的
另外FindBugs有UI页面,可以单独运行。也可以通过Ant以及命令行方式运行。
5、其它分析工具
除FingBugs静态分析工具外,还有PMD和Checkstyle,FingBugs、PMD和Checkstyle三个工具各有不同的特点,联合使用有助于减少误报错误,提高报告的准确率。
这三个工具检查的侧重点各有不同:
工具
目的
主要检查内容
FindBugs
基于Bug Patterns概念,查找java bytecode中的潜在bug。在目前版本中,它不检查java源文件。
主要检查bytecode中的bug patterns,也允许用户自定义特定的bug patterns。
PMD
检查java源文件中的潜在问题。
主要包括:
- 空try/catch/finally/switch语句块
- 未使用的局部变量、参数和private方法
- 空if/while语句
- 过于复杂的表达式,如不必要的if语句等
- 复杂类
CheckStyle
检查java源文件是否与代码规范相符
主要包括
- Javadoc注释
- 命名规范
- Headers
- Imports
- Size冲突和度量,如过长的方法
- Whitespace
- Modifiers
- Blocks
- Coding Problems
- Class Design
- 重复代码
- Miscellaneous Checks
- Optional Checks
Findbug官网地址:http://findbugs.sourceforge.net/
FindBugs的详细bug描述清单见:http://findbugs.sourceforge.net/bugDescriptions.html
FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。
最新版本是1.3.9.20090821,下载地址http://findbugs.sourceforge.net/downloads.html。
FindBugs运用Apache BCEL 库分析类文件(class文件)而不是源代码,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs的检测器已增至300多条,被分为不同的类型,常见的类型如下:
· 正确性(Correctness):这种归类下的问题在某种情况下会导致bug,比如错误的强制类型转换等。
· 最佳实践反例(Bad practice):这种类别下的代码违反了公认的最佳实践标准,比如某个类实现了equals方法但未实现hashCode方法等。
· 多线程正确性(Multithreaded correctness):关注于同步和多线程问题。
· 性能(Performance):潜在的性能问题。
· 安全(Security):安全相关。
· 高危(Dodgy):FindBugs团队认为该类型下的问题代码导致bug的可能性很高。
2、在Eclipse中安装FindBugs插件
下载Eclipse plugin 的版本,解压zip文件。
将解压后的文件放到Eclipse的Plugin中。
重新启动Eclipse 。
我使用的是MyEclipse8.5可能路径和大家的不太一样,我是放到了路径Genuitec/MyEclipse 8.5/dropins下面
3、在Eclipse中使用FindBugs
重新启动eclipse
打开FindBugs视图
执行Find Bug 任务
右键单击你要检测的工程、包或文件,-->Find Bugs-->Find Bugs。
check完成后将在Bug Explorer视图中看到问题列表,该列表以问题类型组织。
展开列表,双击列表中具体的问题就可以定位的具体的代码行。
4、配置FindBugs
在这里可以对FindBugs规则等进行详细设置。
选择你的项目,右键 => Properties => FindBugs =>
1 Run Automatically开关
当此项选中后,FindBugs将会在你修改Java类时自动运行,如你设置了Eclipse自动编译开关后,当你修改完Java文件保存,FindBugs就会运行,并将相应的信息显示出来。
当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。
2 Detector Configuration选择项
在这里你可以选择所要进行检查的相关的Bug Pattern条目,你可以根据需要选择或去掉相应的 检查条件。
3 Minimum priority to report选择项
这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:
你选择了High选择项,那么只有是High级别的提示信息才会被显示。
你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。
你选择了Low选择项,那么所有级别的提示信息都会被显示。
4 Report bug categories选择项
在这里是一些显示Bug分类的选择:
Malicious code vulnerability关于恶意破坏代码相关方面的
Correctness关于代码正确性相关方面的
Internationalization关于代码国际化相关方面的
Performance关于代码性能相关方面的
Multithreaded correctness关于代码多线程正确性相关方面的
另外FindBugs有UI页面,可以单独运行。也可以通过Ant以及命令行方式运行。
5、其它分析工具
除FingBugs静态分析工具外,还有PMD和Checkstyle,FingBugs、PMD和Checkstyle三个工具各有不同的特点,联合使用有助于减少误报错误,提高报告的准确率。
这三个工具检查的侧重点各有不同:
工具
目的
主要检查内容
FindBugs
基于Bug Patterns概念,查找java bytecode中的潜在bug。在目前版本中,它不检查java源文件。
主要检查bytecode中的bug patterns,也允许用户自定义特定的bug patterns。
PMD
检查java源文件中的潜在问题。
主要包括:
- 空try/catch/finally/switch语句块
- 未使用的局部变量、参数和private方法
- 空if/while语句
- 过于复杂的表达式,如不必要的if语句等
- 复杂类
CheckStyle
检查java源文件是否与代码规范相符
主要包括
- Javadoc注释
- 命名规范
- Headers
- Imports
- Size冲突和度量,如过长的方法
- Whitespace
- Modifiers
- Blocks
- Coding Problems
- Class Design
- 重复代码
- Miscellaneous Checks
- Optional Checks
Findbug官网地址:http://findbugs.sourceforge.net/
FindBugs的详细bug描述清单见:http://findbugs.sourceforge.net/bugDescriptions.html
发表评论
-
java的InputStream和OutputStream的理解【转】
2015-11-09 18:10 655原文地址:http://www.cnblogs.com/spr ... -
【JSP】让HTML和JSP页面不缓存的方法
2015-10-14 10:16 490原文地址:http://blog.csdn.net/juebl ... -
jsp去掉浏览器缓存
2015-10-14 09:21 632原文地址:http://bbs.csdn.net/topics ... -
Spring定时任务的几种实现
2015-09-17 18:02 393原文地址:http://gong1208.iteye.com/ ... -
Java 8 简明教程
2015-08-31 17:43 361原文地址:http://www.iteye.com/magaz ... -
Java 8 简明教程
2015-08-28 15:30 568原文地址:http://www.iteye.com/magaz ... -
Spring 3.0 注解注入详解
2015-08-20 12:01 523原文地址:http://developer.51cto.com ... -
Apache所有项目介绍
2015-08-20 11:47 969原文地址:http://haisha.iteye.com/bl ... -
jdk5.0新特性介绍
2015-08-04 18:08 473原文地址:http://blog.sina.com.cn/s/ ... -
Apache Log4j配置说明
2015-05-18 15:59 433原文地址:http://zhangjunh ... -
ubuntu 14.04 下通过apt-get 安装jdk
2015-04-09 16:42 718原文地址:http://segmentfault.com/a/ ... -
【原创】Eclipse Class Decompiler——Java反编译插件
2015-04-01 15:00 617原文地址:http://www.blogj ... -
jvisualvm远程监控Tomcat
2015-03-06 10:19 723原文地址:http://ihuangweiwei.iteye. ... -
Java 并发核心编程
2015-01-08 18:07 624原文地址:http://www.cnblogs.com/see ... -
log4j日志文件乱码问题的解决方法
2015-01-06 18:11 834原文地址:http://blog.csdn.net/inkfi ... -
SHA1与MD5
2014-12-22 15:31 625原文地址:http://blog.csdn.net/fogle ... -
征服 Redis + Jedis
2014-12-19 13:51 403原文地址:http://snowolf.iteye.com/b ... -
Java连接redis的使用示例
2014-12-19 12:08 1082原文地址:http://blog.csdn.net/wgw33 ... -
java对redis的基本操作
2014-12-19 12:07 592原文地址:http://www.cnblogs.com/edi ... -
Eclipse Class Decompiler——Java反编译插件
2014-10-16 11:02 477原文地址:http://bbs.csdn. ...
相关推荐
Eclipse是一款广泛使用的Java集成开发环境(IDE),它提供了丰富的功能来支持软件开发。而FindBugs是一款静态代码分析工具,能够...通过定期使用FindBugs进行代码审查,可以有效地减少bug的出现,提高软件的稳定性。
FindBugs 插件允许用户在 Eclipse 环境中直接使用 FindBugs 的功能,无需离开 IDE 即可完成代码审查工作。 #### 三、安装指南 ##### 3.1 准备工作 在安装 FindBugs 插件之前,需要先准备必要的开发环境: - **...
FindBugs是一款强大的静态代码分析工具,主要用于检测Java代码中的潜在错误和常见编程问题。它在Eclipse集成开发环境中作为一个插件...在实际开发过程中,结合代码审查和单元测试,FindBugs能进一步确保代码的质量。
Eclipse FindBugs是一款强大的静态代码分析工具,它主要用于检测Java代码中的潜在错误和不良编程习惯。这款插件是Eclipse集成开发环境...通过持续的代码审查和修复FindBugs报告的问题,可以显著提升软件的整体品质。
总之,Eclipse集成FindBugs是一个简单的过程,它可以极大地提升代码审查的效率,帮助开发者编写出更高质量的代码。记得根据FindBugs的建议进行合理调整,但也要结合实际项目需求来决定是否采纳其提示。
为了确保代码的健壮性,开发者通常需要进行严谨的代码审查和测试。Eclipse插件FindBugs就是这样一个强大的静态代码分析工具,它能够帮助开发者在编译期间发现潜在的问题,从而提高代码质量。 **FindBugs简介** ...
《用FindBugs提高代码质量》 在软件开发过程中,确保代码质量是至关重要的,而FindBugs正是这样一款能够帮助...在实际项目中,如xBankMIBS2.0.EUSP,定期使用FindBugs进行代码审查,可以显著提高软件的质量和维护性。
同样,FindBugs可以集成到Eclipse中,提供方便的代码审查体验。 使用这两个插件,开发者可以在编码阶段就发现并解决大量问题,降低代码缺陷率,提高软件的整体质量。同时,它们也是持续集成和代码审核过程中的重要...
将这个文件解压后放入Eclipse的Plugin目录下,即可实现对Eclipse IDE的扩展,让开发者在IDE内直接使用FindBugs的功能。 在Eclipse中安装FindBugs插件后,开发者可以享受到以下主要功能: 1. **实时错误检查**:在...
2. 结合代码审查:FindBugs的结果应作为代码审查的一部分,结合人工审查可以确保问题得到充分理解和解决。 3. 整合持续集成:将FindBugs集成到持续集成流程中,可以在早期发现并修复问题,避免在后期引入大量技术...
4. **集成报告**:FindBugs的结果可以直接在Eclipse的problems视图中查看,也可以导出为HTML或XML格式的报告,方便团队协作和代码审查。 5. **交互式修复建议**:对于检测到的问题,FindBugs会提供可能的修复建议,...
同时,FindBugs的结果也可作为代码审查的一部分,帮助团队成员理解代码中的潜在问题,促进团队间的沟通和协作。 总之,FindBugs插件是Eclipse开发环境中不可或缺的工具,它通过静态分析技术,帮助开发者在代码编写...
1、将下载回来的zip包解压,得到文件夹:edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821, 将该文件夹拷贝到myeclipse安装目录下common/plugins目录下。我的目录结构:D:\Genuitec\MyEclipse8.5\Common\...
5. **IntelliJ IDEA** 和 **Eclipse** 的内置代码审查功能:这两个流行的Java IDE都提供了内置的代码审查工具,允许开发者进行代码检查,发现潜在问题,并提供改进建议。 6. **Crucible**:Atlassian的Crucible是一...
2. 代码审查辅助:在代码审查过程中,FindBugs可以作为重要参考,确保代码符合规范。 3. 教育作用:对于初学者,FindBugs可以引导他们遵循最佳实践,避免常见的编程陷阱。 总的来说,FindBugs作为一款强大的代码...
除了手动分析,FindBugs 还支持集成到构建工具如 Maven 或 Gradle 中,实现持续集成和自动化代码审查。在项目构建阶段就能发现并修复问题,提高代码质量。 **5. 注意事项** 尽管 FindBugs 能检测出很多潜在问题,...
**FindBugs Eclipse 插件详解** FindBugs 是一款著名的静态代码分析工具,专用于检测 Java 应用程序中的潜在...通过定期使用 FindBugs 进行代码审查,可以有效地避免许多常见的编程陷阱,确保软件项目的稳定和高效。
通过这种方式,FindBugs为开发者提供了宝贵的代码审查辅助,减少了人工检查的工作量,提高了开发效率。 在Eclipse IDE中,FindBugs插件是其重要的组成部分,版本号edu.umd.cs.findbugs.plugin.eclipse_3.0.1....