idea 常用插件使用-FindBugs寻找bug,代码分析

r囧r小猫 2023-07-20 12:15 226阅读 0赞

今天想起之前查看日志的时候,出现内存泄漏的问题,想着怎么查看代码是否有内存泄漏的方法,没有找到内存泄漏检测的工具。后来想,如果代码规范也就会减少代码的bug,自己使用的是idea 2017.3.5 ,就想看看idea是否有bug检测的插件。找到一款查找bug的工具,记录如下:

一、安装

路径:File—>Settings—>Plugins—>Browse repositories….—>输入FindBugs-IDEA—>点击安装

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h6ajgwOTI3_size_16_color_FFFFFF_t_70

二、使用

注意:安装后需要重启idea

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h6ajgwOTI3_size_16_color_FFFFFF_t_70 1

三、结果分析

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

2->Malicious code vulnerability 恶意代码漏洞
听起来很吓人呀,主要是一些属性直接使用public让别的类来获取,建议改为private并为其提供get/set方法.
还有一些public的静态字段,可能会被别的包获取之类的.
这些也需要根据项目具体情况来,个人意见,在有的不重要类,有时直接公开使用属性,可能更为便捷.如果你认为这些不需要修改,完全可以忽略.

3->Dodgy code 糟糕的代码
·比如一个double/float被强制转换成int/long可能会导致精度损失,一些接近零的浮点数会被直接截断,事实上我们应该保留.
在类型转换的时候,我们应该为类型转换提供一个安全的转换方法,因为我们永远不会知道,我们的app在用户手里会发生什么,所以我们要尽可能的去减少这种发生错误的可能.

·比如使用switch的时候没有提供default。

·多余的空检查,就是不可能为空的值,增加了不为空判断,这是没有必要的。属于代码冗余

·不安全的类型转换等等。
这项太多了,就不一一列举了。

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

5->correctness 代码的正确性 这一项应该算是最重要的了
主要是没有对变量进行不为空判定,在特殊情况可能发生空指针异常.

发表评论

表情:
评论列表 (有 0 条评论,226人围观)

还没有评论,来说两句吧...

相关阅读