本博客主要是介绍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 协议 ,转载请注明出处!

WDYDT-21-2023新年复工随笔 上一篇
ANR查找与解决经验 下一篇