Android(Java)利用findbugs进行代码静态检查

   主要介绍利用java静态代码检查工具findbugs进行代码检查,包括其作用、安装、使用、高级功能(远程review和bug同步)。

  虽然Android提供了Test Project工程以及instrumentation可以方便的进行单元测试,不过据了解国内Android开发会写自测代码的寥寥无几。那么有没有简单的方法一定程度上保证代码质量呢。Android应用开发大多使用Java,所以对于Java代码检查工具都可以适用,本文介绍其中功能较为强大的findbugs。

  1、findbugs作用

  findbugs可用于对java代码进行静态检查,检查bug类型包括:

  XHTML

  Bad practice 坏的实践:常见代码错误,序列化错误,用于静态代码检查时进行缺陷模式匹配

  Correctness 可能导致错误的代码,如空指针引用等

  国际化相关问题:如错误的字符串转换

  可能受到的恶意攻击,如访问权限修饰符的定义等

  多线程的正确性:如多线程编程时常见的同步,线程调度问题。

  运行时性能问题:如由变量定义,方法调用导致的代码低效问题。

  记住一点,findbugs只能用于代码静态检查,对于动态运行中不断变 化的数据产生的bugs是无法捕捉的,所以不能代替单元测试、功能测试、性能测试,只能说一定程度上检查简单错误。


  2、findbugs安装

  通过Eclipse插件进行安装

  Eclipse -> Help -> Install New Software, site输入http://findbugs.cs.umd.edu/eclipse,进行安装。

  3、findbugs使用

  右击工程,选择Find Bugs -> Find Bugs即会对代码开始检查。检查完成后通过Windows -> Show View -> Find Bugs -> Bug Exporer查看bug列表,如TrineaAndroidCommon工程检查结果如下图:
  

findbugs-300x109.jpg



  点击右上角+标记展开所有bug细节,点击某个bug进入相应代码行

  findbugs会对bug进行分类,同时每一类中会按bug的优先级分类,如 下图
  

bugtype-300x124.jpg



  4、findbugs高级功能

  findbugs提供了代码review以及在线同步功能,这样,对于一个团队,尤其是异地工作,可以方便的代码review。以前在阿里应用有专门的开发部门开发类似功能。

  右击工程,选择Properties -> Find Bugs, 勾选Enable project specific settings, store issue evaluations in选择FindBugs Cloud。在Bug Exporer视图中选中某个bug,在Bug Reviews视图中填写review信息即可,如下:
  

bugReview-300x97.jpg


  不过国内findbugs被强了,得用vpn。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值