本博客主要是介绍sonarQube工具的使用,还有一些衡量代码质量的指标。
代码质量指标
BUG
遇到的如下:
- 线程安全问题
- 数值溢出风险
- 数值损失精度问题
- 空指针问题
- 中断异常处理
- try-with-resource
- 等
代码气味 code smell
这个就比较多了,比如:
- 变量命名
- 使用过时api
- 变量重复
- 无用代码
- 无用导包
- 等
方法认知复杂度 Cognitive Complexity
一个方法的认知复杂度超过15即认为是复杂函数
代码重复率 density
就是一段代码和另外一段代码重复,造成代码冗余
在项目管理中引入sonarQube
代码review时审核代码质量
如果公司使用gerrit或者gitlab,可以配置插件,检测新提交的pull request是否引入新的代码质量问题。
必要时,还可以接入Jenkins等持续集成工具,协助我们做审查。
要求在IDE中集成sonarQube插件,写代码时注意代码质量
sonarQube在Android Studio中插件名称为sonarLint,可以对某个代码文件进行质量扫描。
集成sonarQube到项目编译中,定时统计代码质量趋势
gradle中可以继承sonarQube,上传到我们自己搭建的sonarQube服务端,用来统计代码质量趋势。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!