使用FindBugs-IDEA插件找到代码中潜在的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用FindBugs-IDEA插件找到代码中潜在的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2468字,纯文字阅读大概需要4分钟。
内容图文
![使用FindBugs-IDEA插件找到代码中潜在的问题](/upload/InfoBanner/zyjiaocheng/489/02b82c460d954d18b43ff841bcb9d646.jpg)
我们通常都会在APP上线之后,发现各种错误,尤其是空指针异常,这些错误对于用户体验来说是非常不好的,但其实大部分的问题,我们都能够提前发现.
在编写代码的过程中,可能不会时时刻刻记得检查空的引用,还有删除没有用过的变量,在我们自己测试的过程中可能难以发现问题,一旦app上线,用户的使用环境改变,这些潜在的问题就可能会冒出来.
当然这这只是对于我这种经常写出空指针异常的小白而言的,编程风格良好,编程严谨的大神请忽略.
今天我介绍一个小插件,帮助我们提前找到这些潜在的问题,然后根据需要去修改.
第一步下载插件,在AndroidStudio的File->Setting->Plugins->Browser Repositorise中搜索FindBugs-IDEA.然后install.
因为已经安装过插件,所以install的按钮已经消失了.
安装成功后需要重启AS才可以使用.
静静等待一会,在下方生成分析结果
找到的bug太多,数量就不展示啦.
我来简单介绍一下这几类bug,当然有些你是可以忽略的.
1->Bad pratice编程的坏习惯
主要是命名问题,比如类名最好以大写开头,字符串不要使用等号不等号进行比较,可能会有异常最好用try-catch包裹的代码,方法有返回值但被忽略等等,这些如果不想改可以直接忽略.
2->Malicious code vulnerability 恶意代码漏洞
听起来很吓人呀,主要是一些属性直接使用public让别的类来获取,建议改为private并为其提供get/set方法.
还有一些public的静态字段,可能会被别的包获取之类的.
这些也需要根据项目具体情况来,个人意见,在有的不重要类,有时直接公开使用属性,可能更为便捷.如果你认为这些不需要修改,完全可以忽略.
3->Dodgy code 糟糕的代码
·比如一个double/float被强制转换成int/long可能会导致精度损失,一些接近零的浮点数会被直接截断,事实上我们应该保留.
这里顺便提一点,这两天看了《app研发录》,在规范代码,尽量规避错误这方面我也有了一些收获.
在类型转换的时候,我们应该为类型转换提供一个安全的转换方法,因为我们永远不会知道,我们的app在用户手里会发生什么,所以我们要尽可能的去减少这种发生错误的可能.
·比如使用switch的时候没有提供default。
·多余的空检查,就是不可能为空的值,增加了不为空判断,这是没有必要的。属于代码冗余
·不安全的类型转换等等。
这项太多了,就不一一列举了。
4->performance 性能
主要是一些无用的代码,比如声明了没有用到的属性等等
5->correctness 代码的正确性 这一项应该算是最重要的了
主要是没有对变量进行不为空判定,在特殊情况可能发生空指针异常.
这篇文章还只是对FindBugs这个插件最主要的功能进行介绍,相信你能在使用过程中发现这个工具更多的用法.
该博客由博主原创,转载请声明出处
http://blog.csdn.net/fancy_xty/article/details/51718687
使用FindBugs-IDEA插件找到代码中潜在的问题
标签:字段 fan 恶意代码 repo 提前 好的 and details orm
本文系统来源:http://www.cnblogs.com/aligege/p/7308274.html
内容总结
以上是互联网集市为您收集整理的使用FindBugs-IDEA插件找到代码中潜在的问题全部内容,希望文章能够帮你解决使用FindBugs-IDEA插件找到代码中潜在的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。