AICoding的质量门禁|看懂SonarQube的扫描度量

这里写目录标题

  • [SonarQube 报告解读(Overall Code 整体代码)](#SonarQube 报告解读(Overall Code 整体代码))
    • 一、三大核心质量评级
      • [1. Security(安全)|D级,20 Open issues(待处理安全问题)](#1. Security(安全)|D级,20 Open issues(待处理安全问题))
      • [2. Reliability(可靠性)|E级,151 Open issues(待处理Bug)](#2. Reliability(可靠性)|E级,151 Open issues(待处理Bug))
      • [3. Maintainability(可维护性)|A级,941 Open issues(代码异味Code Smell)](#3. Maintainability(可维护性)|A级,941 Open issues(代码异味Code Smell))
    • 二、下方3个辅助指标
    • [三、整体项目结论 & 修复优先级](#三、整体项目结论 & 修复优先级)
      • [🚨 风险排序(从高到低)](#🚨 风险排序(从高到低))
      • 两个Tab说明
    • 四、常见疑问

关键字:AICoding;SDLC;SonarQube;代码质量;质量门禁

AI编程已经是IT科技密集型企业的必备,必须进入的日常活动,但是AI编程的质量结果是否可信?很多人都说AI编码的质量肯定比普通程序员高。

从模型训练的数据源来看,至少数据基础是较高质量的,所以以上大家的判断是有基础的,但是如果遇到笨的coding agent,难免是有一定出入的!TA甚至产出不了可以编译通过的、漏洞百出、牛头不对马嘴的工程代码。当然,这类进化中的coding agent不属于本次讨论范围,必须给agent进化的时空。

但是,我们通常采用更科学的方法来做判断,本篇主要从我们通常采用的SonarQube质量扫描工具的扫描结果度量来说话!让成熟的工具对低代码质量进行把关,将质量左移。

本篇我们将解读Sonar的扫描结果度量。

SonarQube 报告解读(Overall Code 整体代码)

SonarQube评级:A最优,E最差,分为3大质量维度 + 3个辅助指标。

一、三大核心质量评级

1. Security(安全)|D级,20 Open issues(待处理安全问题)

  • 含义:代码存在20个未修复安全漏洞,评级D属于较差水平。
  • 这些是安全缺陷(注入、权限、敏感数据泄露等),需要优先排查阻断风险。

注意区分:Security issues是漏洞;Security Hotspots是安全热点(需要人工复核),这里统计的是直接的安全缺陷。

2. Reliability(可靠性)|E级,151 Open issues(待处理Bug)

✅ 最严重项!E是最低评级

  • 含义:一共发现 151个Bug,代码稳定性很差。
  • 这类问题会导致程序运行异常、崩溃、逻辑错误,属于线上故障高风险 ,最高优先级修复。

3. Maintainability(可维护性)|A级,941 Open issues(代码异味Code Smell)

  • A级:可维护性评级是优秀
  • 941个是代码异味(Code Smell):命名不规范、冗余代码、复杂度偏高、写法不规范。

这里容易困惑:问题数量虽然最多,但不会直接造成程序崩溃/安全漏洞 ,只是长期会增加维护成本,所以评级依然是A。

原理:Sonar的可维护评级看【技术债比率】,不是单纯问题个数。

二、下方3个辅助指标

  1. Accepted issues:0

Valid issues that were not fixed

标记为"认可接受、暂不修复"的有效问题数量,目前是0,代表还没有任何问题被豁免。

  1. Coverage:0.0%,13k lines to cover
  • 业务代码13000行可执行代码,完全没有单元测试覆盖。
  • 没有自动化测试,后续改代码极易引入回归Bug,这也是可靠性差的重要诱因。
  1. Duplications:39.4%,132k lines
  • 整个项目132000行代码,39.4%是重复代码,重复率非常高。

大量复制粘贴代码,一处修改就要同步改很多地方,很容易引入不一致Bug。

三、整体项目结论 & 修复优先级

🚨 风险排序(从高到低)

  1. Reliability E(151个Bug):最高优先级,防止线上崩溃、逻辑错误
  2. Security D(20个安全问题):第二优先级,防止安全攻击
  3. Duplication 39.4%:中长期重构,减少重复代码
  4. Coverage 0%:补单元测试,防止后续回归
  5. Maintainability 941代码异味:低优先级,迭代时顺手清理即可,当前评级A,压力最小

两个Tab说明

  • New Code:新增代码(本次提交/迭代新增代码的质量)
  • Overall Code:整个项目全部代码(当前截图)

四、常见疑问

Q:为什么 Maintainability 有941个问题,评级还是A?

A:Sonar Maintainability评级不是看问题数量,是看技术债比率 (修复全部代码异味所需工时 / 开发总工时)。虽然数量多,但整体修复成本占比很低,所以拿到A。

而 Reliability / Security 评级会受到Blocker/Critical严重级别的Bug、安全漏洞影响,少量高危问题就会直接拉低评级到D/E。

相关推荐
彭亚川Allen15 小时前
从零手搓 RAG 之检索全流程,给大模型接上自己的知识库
前端·后端·ai编程
桃西西呀17 小时前
LangGraph4j之四:运行引擎与流式
人工智能·llm·ai编程
桃西西呀17 小时前
LangGraph4j之五:持久化与断点续跑
人工智能·llm·ai编程
threerocks17 小时前
FDE 已死!从 FDE 到 FDU:重新定义 AI 交付
aigc·openai·ai编程
用户7217465882617 小时前
三条热词通道的机制拆解:bl speech 的参数面、生效模型范围与错配读数
llm·agent·ai编程
code_Bo18 小时前
从策划到上线:我和 AI 一起做了个微信记账小程序
前端·ai编程·cursor
星始流年18 小时前
AI 时代,软件程序员未来 10—15 年的职业前景
前端·后端·ai编程
Captaincc18 小时前
# 实习生A视角来了 | 2024 年字节跳动前实习生 (Tian Keyu) 模型训练攻击事件:受害者陈述与证据整理
ai编程