安卓静态代码检查工具比较

本文详细介绍了两款代码隐患检测工具Findbugs和GodEyes的功能特性,包括它们如何检查和预防各种代码隐患,如系统API兼容性、内存泄漏、异常处理、线程安全等。此外,文章还概述了这些工具在确保代码质量和安全性方面的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. findbugs

  下载地址:http://findbugs.sourceforge.net/downloads.html 

  特点:侧重基本规范

   Malicious code vulnerability:关于恶意破坏代码相关方面的 

  Dodgy:关于代码不可靠相关方面的 

  Bad pratice: 关于代码不好的实践相关方面的 

  Correctness:关于代码正确性相关方面的 

  Internationalization:关于代码国际化相关方面的 

  Performance:关于代码性能相关方面的 

  Security:关于代码安全性相关方面的 

  Multithreaded correctness:关于代码多线程正确性相关方面的

2.GodEyes

  下载地址:http://godeyes.duapp.com/download.jsp 

  特点:重点检查它自定义的几种代码隐患,防止崩溃和ANR

1.【兼容】系统API兼容性隐患

2.【OOM】大图片解析导致OOM的隐患

3.【异常】格式化数字异常未捕获的隐患

4.【判空】ArrayList对象使用未判空隐患

5.【越界】使用String.split结果未判断长度隐患

6.【判断】添加Fragment前未判断是否IsAdded隐患

7.【异常】使用除法或求余没有判断分母长度隐患

8.【越界】使用String.substring前未判断长度隐患

9.【判空】通过HashMap获取对象使用未判空隐患

10.【异常】ArrayList使用get方法获取元素未判断下标有效性的隐患

11.【异常】使用动态载入界面的元素未判断是否属于此界面的隐患

12.【OOM】使用IO流后没有关闭导致OOM隐患

13.【异常】数据库操作异常未捕获处理隐患

14.【异常】主动抛出异常未捕获处理隐患

15.【异常】dismiss()方法调用前isShowing未判断的隐患

16.【判空】方法中存在return null返回对象直接进行方法调用隐患

17.【OOM】查询数据库没有关闭游标导致OOM的隐患

18.【状态】销毁Dialog前是否isShowing未判断隐患

19.【异常】复写生命周期函数没有调用父类的super函数隐患

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值