Android代码检查之FindBugs工具介绍

在Android自动化测试技术中,我们首先会运用各种代码检查工具对Android代码进行检查,从而提前发现代码中存在的一些bug和隐患,提高代码质量。FindBug就是Android代码检查最常用的工具之一。

FindBug是一款开源的Java代码检查工具,遵循GNU公共许可协议。它可以检查Java类或者JAR文件,运行的是Java字节码而不是源码,检查原理是:将字节码与一组缺陷模式进行对比来发现可能存在的问题,这些问题包括空指针引用、无限递归循环、死锁等。检查的bug类型包括:

  • Bad practice 坏的实践:常见代码错误,序列化错误,用于静态代码检查时进行缺陷模式匹配;
  • Correctness 可能导致错误的代码,如空指针引用等;
  • 国际化相关问题:如错误的字符串转换;
  • 可能受到的恶意攻击,如访问权限修饰符的定义等;
  • 多线程的正确性:如多线程编程时常见的同步,线程调度问题;
  • 运行时性能问题:如由变量定义,方法调用导致的代码低效问题。

FindBugs是一个独立的GUI应用程序,有多种使用方式,可以作为Eclipse、NetBeas、IntelliJ IDEA插件使用,也可以从命令行、Ant、Maven中使用。使用方法简单,开发者可以在编程中即编即查。FindBugs发现bug后,会进行等级划分,按照bug严重程度分为四个等级:Scariest、Scary、Troubling和Of Concern四个等级,可以参考修改建议进行相关问题的修复。代码检查效果示例如下图所示:

FindBugs官网地址:https://sourceforge.net/projects/findbugs/

共有 0 条评论评论