一,关于FindBugs
(1) FindBugs 是由马里兰大学提供的一款开源 Java
静态代码分析工具,它检查类或者 JAR
文件,将字节码与一组缺陷模式进行对比以发现可能的问题(先对编译后的class进行扫描,然后进行对比),寻找出真正的缺陷和潜在的性能问题。在开发阶
段和维护阶段都可使用。
现今检测的类型如下:
正确性:如强制类型转换
标准:如某个类实现了equals方法但未实现hashCode方法
多线程:主要在同步和多线程问题
性能:潜在的性能委托
安全:相关
高危:导致Bug的可能性最高
更多的Bug描述:http://findbugs.sourceforge.net/bugDescriptions.html
二,下载FindBugs
(1) 可以在官方网站 http://findbugs.sourceforge.net/downloads.html
下载相应的版本(命令行版本,swing版本,ant版本,eclipse插件版本-离线包和在线更新两种方式)。
三,使用FindBugs
(1) 开发可以使用eclipse插件方式安装好FindBugs,然后在eclipse中的Package Explorer 或者Navigater 里面,右键点击项目,在弹出的右键菜单中即可选中FindBugs运行。
(2) 运行完成后代码中会有相应Bug级别的虫子样式标识(红色图标表示 bug 较为严重,黄色的图标表示 bug 为警告程度),鼠标移动到相应的虫子上,可查看详细描述和建议方案。
(3) 高级运用:在eclipse中的属性配置可以针对不同的项目配置不同的FindBugs属性。
(4) 在ant中也可以配置FindBugs;其他使用如:命令行检查,swing检查等
(4) 在项目中设置自动运行:选中项目-右键-FindBugs-Run automatically
四,检查Bugs
1.找出 hash equals 不匹配
List、Map、Set 等都调用equals() 和 hashCode(),重写对象的 equals() 方法,但是没有重写它的 hashCode 方法,或者相反的情况时。
2.忽略方法返回值
/**
* 对点评内容中的一些对页面有影响的字进行替换
* @param
content
* @return
*/
private
final String convert(final
String content)
{
if
(null
!= content) {
content.replaceAll("\""
, "\\\\\""
).replaceAll("<"
, "<"
).replaceAll(">"
, ">"
);
return
content;
}
return
null
;
}
注:replaceAll基于正则表达式来转换的
3.Null指针
private
void nullPoint()
{
OverrideEquals oe=
oMap.get(“str”)
;
if
(oe!=null
){
oe
.process();
}
System.out
.println(oe.getName());
}
4.初始化之前读取数据
private List<String> strList
;
private
void
readList(String strings)
{
StringTokenizer st=new
StringTokenizer(strings);
while
(st.hasMoreTokens()){
strList
.add(st.nextToken());
}
}
5.使用泛型时如非必要 可以加入:@SuppressWarnings
("rawtypes"
)
更多访问:程序员百味博客 http://www.bywei.cn/view.asp?id=108
分享到:
相关推荐
**Java代码分析工具FindBugs:安装与使用详解** FindBugs是一款强大的静态代码分析工具,主要用于检测Java程序中的潜在缺陷。它通过分析字节码而非源代码来查找可能的问题,帮助开发者在运行阶段之前发现并修复代码...
### 四、自定义FindBugs配置 你可以通过创建一个名为`findbugs-exclude.xml`的文件来排除某些FindBugs警告。这个文件遵循FindBugs的XML配置语法,可以指定类名或包名,以告诉FindBugs不要报告这些类或包中的问题。 ...
本文将详细介绍 Jenkins 中 FindBugs、PMD、CheckStyle 和 Violations 静态分析工具的安装配置过程。 FindBugs 是一个静态分析工具,主要检查 Java 字节码(.class 文件)中的潜在 bug。FindBugs 能够检查 bytecode...
代码审计工具Findbugs自动检查CheckList及配置方法 代码审计工具Findbugs是一个开源的代码审计工具,广泛应用于软件开发中。Findbugs能够自动检查代码中的安全漏洞和错误,从而提高软件产品的安全性和可靠性。 ...
`findBugs`是一款强大的静态代码分析工具,主要用于检测Java程序中的潜在错误、代码缺陷和不良编程习惯。它能够在代码运行之前进行分析,无需执行程序,因此得名“静态”。作为一款Eclipse插件,`findBugs`无缝集成...
FindBugs是一款强大的静态代码分析工具,主要用于检测Java代码中的潜在错误和不良编程习惯。它通过对编译后的字节码进行分析,而不需要实际运行代码,就能找出可能存在的问题,从而帮助开发者提升代码质量,减少运行...
FindBugs是由University of Maryland开发的一款静态分析工具,它通过分析字节码而非源代码来寻找可能存在的问题。这种分析方式使得FindBugs能够检测到一些编译器无法发现的潜在错误,如空指针异常、资源未关闭、并发...
FindBugs是一款强大的Java字节码静态分析工具,它能够帮助开发者在代码执行前发现潜在的缺陷和质量问题。通过检查类文件和JAR包,FindBugs与一系列预定义的缺陷模式进行匹配,从而找出可能存在的问题。这种静态分析...
"代码走查教程"可能包含了关于如何使用 Checkstyle 和 FindBugs 进行代码走查的详细指导,涵盖了以下内容: 1. **Checkstyle 使用指南**:介绍如何配置 Checkstyle 的规则集,包括默认规则和自定义规则的设定,以及...
四、优化FindBugs配置 1. 选择检查级别 FindBugs提供了不同级别的检查,如默认、medium、max等,可以根据项目需求调整。更高级别的检查会找出更多潜在问题,但可能会产生更多的误报。 2. 配置排除规则 对于某些...
**代码检查工具FindBugs详解** FindBugs是一款开源的静态代码分析工具,主要用于Java程序的错误检测。它能够在程序运行之前找出潜在的bug、设计缺陷以及不良编程习惯,从而提高代码质量和可靠性。这款工具在Java...
为了确保代码的质量,开发者通常会采用各种静态代码分析工具,其中FindBugs就是一款非常受欢迎的Java代码检测工具。FindBugs能够通过静态分析的方式,找出潜在的错误和不良编程习惯,而无需实际运行程序。 FindBugs...
FindBugs是一款著名的静态代码分析工具,它通过扫描Java字节码来检测潜在的错误和不良编程习惯,被誉为“程序员的无声守护者”。2008年10月08日的版本是FindBugs发展历程中的一个重要里程碑,对于研究其工作原理和...
FindBugs是一款强大的静态代码分析工具,主要用于检测Java代码中的潜在错误、坏味道和安全漏洞。这个安装及使用手册将帮助开发人员在编码阶段就能发现并修复问题,从而提高代码质量和可维护性。 1. **FindBugs简介*...
FindBugs是一款非常实用的Java代码质量检测工具,尤其适合集成到Eclipse开发环境中使用。通过FindBugs,开发者不仅可以提高代码质量,还能提升开发效率。无论是个人开发者还是大型团队,FindBugs都能为其带来巨大的...
《深入理解FindBugs 1.3.9:静态代码分析的强大工具》 FindBugs是一款广受欢迎的静态代码分析工具,它的版本1.3.9在软件开发领域具有重要的地位。这款开源工具的主要功能是检测Java代码中的潜在错误,帮助开发者在...
`FindBugs`是一款强大的静态代码分析工具,主要用于检测Java代码中的潜在错误和不良实践。它通过分析字节码来找出可能存在的问题,而无需实际运行程序。在Maven项目中,我们可以使用`findbugs-maven-plugin`这个...