首页/开发/代码质量与评审速查/SonarQube 质量指标:可靠性/安全性/可维护性
技术债与度量63 条

SonarQube 质量指标:可靠性/安全性/可维护性

SonarQube 把问题归入可靠性、安全性、可维护性三个维度:严重级别从 Blocker 到 Info,配套质量门(Quality Gate)与「新代码」口径;评级(A–E)本质是问题密度映射。

SonarQube 质量指标是什么

SonarQube 把问题归入可靠性、安全性、可维护性三个维度,严重级别从 Blocker 到 Info。它配套质量门与「新代码」口径:门禁通常只对新增代码设阈值,存量问题看趋势。界面上的 A 到 E 评级是问题密度(技术债比率、覆盖率、重复率等)换算出的档位,说明的是相对状况,不是绝对质量结论。

基本信息

维度Reliability / Security / Maintainability
严重级别Blocker / Critical / Major / Minor / Info
评级A 到 E,由问题密度换算
新代码口径New Code,例如近 30 天或上一版本
门禁Quality Gate,通过或失败两种结果

典型使用场景

  • 版本发布前确认质量门是否通过
  • 周会只看新代码的新增问题数,而不是总问题数
  • 多项目横向对比时,注意技术栈与代码量差异带来的影响
  • 把安全热点审查纳入发布前检查清单
  • 用评级变化判断长期趋势,而不是单次快照

质量门示例

质量门示例
Quality Gate(新代码口径):
- 覆盖率 >= 80%
- 重复率 <= 3%
- 新增 Blocker / Critical = 0
- 安全热点审查完成 100%

维度与典型判据

维度关注点典型判据
Reliability缺陷与异常处理新增 Blocker 与 Critical 数量
Security漏洞与安全热点安全热点审查完成率
Maintainability坏味道与复杂结构技术债比率、重复率
Coverage测试覆盖情况新代码覆盖率

看指标的顺序

  • 先看门禁状态:通过还是失败,失败原因落在哪个维度
  • 再看新代码指标:新增问题数与新代码覆盖率
  • 随后看整体趋势:评级与技术债比率的变化方向
  • 横向对比同类项目前,先确认语言、代码量与团队规模是否可比
门禁的重点放在新代码上:存量负债一次性清零不现实,把阈值压在本次改动上,指标才会持续改善而不是越滚越大。
直接套用默认质量门:项目历史负债与团队节奏各不相同,阈值需要结合实际情况校准,否则门禁要么形同虚设、要么长期失败被人无视。

易错点

  • 直接套用默认质量门:阈值与项目实际不匹配,团队靠豁免绕过
  • 只盯整体评级:存量问题掩盖新代码劣化,趋势看不见
  • 把评级当绝对结论:不同语言与技术栈的问题密度不可直接横向比较
  • 只看覆盖率不看断言质量:数字达标但缺陷照样漏到线上

数据来源与参考

  • SonarQube 文档 · 指标与质量门(Quality Gates、New Code)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌