首页/开发/代码质量与评审速查/Quality Profile:规则集的管理
规范与静态检查65 条

Quality Profile:规则集的管理

质量配置(Quality Profile)定义某语言下启用的规则与参数:官方内置 Sonar way 等配置,团队应复制后自定义,并把变更当成标准来管理。

Quality Profile 是什么

质量配置(Quality Profile)定义某一种语言下启用哪些规则、参数怎么设置。SonarQube 内置若干官方配置,例如 Sonar way;团队应复制一份再按需要裁剪,并把每次调整当成团队标准来管理。它本质上是编码规范的数字化版本:改一条规则,影响的是该语言下所有项目的门禁判定。

基本信息

定义某语言的启用规则集合与参数
内置配置Sonar way 等官方预设,建议复制后自定义
组织方式按语言独立维护,一套配置绑定一组项目
变更影响直接改变该语言项目的问题判定与门禁结果
管理要求变更留痕,谁在何时调整了哪些规则

典型使用场景

  • 接入 Sonar 门禁前,把默认配置复制出来按团队需要裁剪
  • 不同项目组严格度要求不同时,用多套配置分别绑定
  • 官方新增规则时先在试点项目试跑,观察告警量再推广
  • 审计或新人询问时,能回答某条规则为什么被关闭
  • 技术栈升级后重新评估规则集是否还适用

变更管理要点

变更管理要点
1. 复制内置配置作为团队基线,不要直接改默认配置
2. 按项目类型绑定不同配置:核心服务严格、脚本宽松
3. 每次调整留记录:改了哪些规则、为什么、谁批准
4. 新规则先在试点项目跑一段时间,观察告警量再推广
5. 配置变更像代码一样走评审,并通知受影响的项目

常见调整类型

调整场景注意
关闭规则规则与团队实践冲突且无替代方案写明原因与复核时间
调整参数阈值太松或太紧记录判断依据的数据
提升严重级别核心项目要求更严先评估存量告警量
新增规则官方新规则或安全类规则先试点再全量推广
质量配置是团队标准的数字化:变更应像代码一样评审。没有评审的规则调整,最后会变成某人随手关掉的检查,没人知道原因。
不要直接修改内置的默认配置:工具升级时可能被覆盖或产生冲突,自己的调整历史也丢失。复制一份属于自己的配置,升级时才有明确的合并对象。

易错点

  • 直接改默认配置:升级时被覆盖或冲突,调整历史丢失
  • 规则裁剪不留记录:后人不知道某条规则为何被关,也不敢重新打开
  • 配置长期不动:语言新特性与安全类新规则接不进来,标准慢慢落后
  • 所有项目共用一套配置:核心服务嫌松、脚本项目嫌严,两边都不满意

数据来源与参考

  • SonarQube 文档 · Quality Profiles
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌