使用FindBugs-IDEA插件优化代码

Android Studio插件FindBugs-IDEA,帮助我们提前找到这些潜在的问题,然后根据需要去修改。

第一步下载插件,在AndroidStudio的File->preferences->Plugins->Browser Repositorise中搜索FindBugs-IDEA,然后install。


image1.png

安装成功后重启AS。


image2.png
image3.png

bug简单描述

1. Bad pratice编程的坏习惯

主要是命名问题,比如类名最好以大写开头,字符串不要使用等号不等号进行比较,可能会有异常最好用try-catch包裹的代码,方法有返回值但被忽略等等,这些如果不想改可以直接忽略。

2. Malicious code vulnerability 恶意代码漏洞

主要是一些属性直接使用public让别的类来获取,建议改为private并为其提供get/set方法。
还有一些public的静态字段,可能会被别的包获取之类的。
这些也需要根据项目具体情况来,在有的不重要类,有时直接公开使用属性,可能更为便捷。如果你认为这些不需要修改,完全可以忽略。

3. Dodgy code 糟糕的代码

  1. 比如一个double/float被强制转换成int/long可能会导致精度损失,一些接近零的浮点数会被直接截断,事实上我们应该保留。
    在类型转换的时候,我们应该为类型转换提供一个安全的转换方法,因为我们永远不会知道,我们的app在用户手里会发生什么,所以我们要尽可能的去减少这种发生错误的可能。
  2. 比如使用switch的时候没有提供default。
  3. 多余的空检查,就是不可能为空的值,增加了不为空判断,这是没有必要的。属于代码冗余。
  4. 不安全的类型转换等等。

4. performance 性能

主要是一些无用的代码,比如声明了没有用到的属性等等

5. correctness 代码的正确性 这一项应该算是最重要的了

主要是没有对变量进行不为空判定,在特殊情况可能发生空指针异常。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,196评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 昨天看到中国美术馆的这次画展的介绍,刷到文末,莫名被李可染的牛和叶欣予的舞蹈人物吸引到。以前也常看到画展的分享,团...
    自由之鹿阅读 544评论 0 1
  • 《梦蛊》 文 /心醉舞美 此刻我是醒着的 陪我醒着的 还有《余光中诗集》 蛊 在28页的第五行中跳了出...
    心醉舞美阅读 217评论 1 2
  • 好不容易出来溜溜啊毕竟这儿很美 哈哈哈哈哈哈哈哈哈哈在锦溪等你.
    曹亦阅读 282评论 0 1