• 欢迎访问ByWei.Cn,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,加入百味博客 软件定制QQ群
  • 已升级为最新版主题,并将持续优化改造中,支持说说碎语功能,可像添加文章一样直接添加说说,博客主题升级啦
  • 感谢您百度求点赞啊!百度网址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏百味博客吧
  • 博主热烈欢迎 软件定制开发 联系:http://www.bywei.cn

代码分析工具FindBugs详细配置使用教程

编程语言 百味博客 12年前 (2012-04-10) 2127次浏览 1个评论 扫描二维码

一,关于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")

 


百味博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:代码分析工具FindBugs详细配置使用教程
喜欢 (9)
[微信扫一扫]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 好资源一定要顶
    郴州网站建设2012-04-21 19:34 回复