核心审查智能体

质量守护者

随着代码库增长保持可维护性

一个专注于代码质量和可维护性的专业 AI 智能体。在技术债务堆积之前, 捕获复杂度蔓延、死代码、不清晰的逻辑和缺失的验证。

质量守护者捕获什么

那些会随时间拖慢团队的问题

复杂代码

函数过长、嵌套过深,或一次做太多事情

高圈复杂度深层嵌套上帝函数

死代码

未使用的变量、不可达的代码和废弃的函数,让代码库变得杂乱

未使用的导入不可达分支注释掉的代码

不清晰的逻辑

魔法数字、晦涩的变量名,以及需要博士学位才能理解的代码

魔法数字单字母变量隐式行为

缺失验证

用户输入、API 响应和数据边界没有得到适当检查

未验证的输入缺失的类型检查边界违规

追踪的质量指标

保持代码可维护性的客观度量

圈复杂度

代码中独立路径的数量

> 10 是异味

嵌套深度

函数中的缩进层级

> 3 难以跟踪

函数长度

每个函数的代码行数

> 30 需要拆分

参数数量

每个函数的参数

> 4 建议使用对象

真实重构案例

看看质量守护者如何提升代码可维护性

降低复杂度

之前
function processOrder(order) {
  if (order) {
    if (order.items) {
      if (order.items.length > 0) {
        if (order.customer) {
          if (order.customer.active) {
            // Finally, the actual logic...
            return calculateTotal(order)
          }
        }
      }
    }
  }
  return null
}

5 层嵌套 — 难以阅读和维护

之后
function processOrder(order) {
  if (!isValidOrder(order)) return null
  return calculateTotal(order)
}

function isValidOrder(order) {
  return order?.items?.length > 0
    && order?.customer?.active
}

提取守卫子句,扁平化结构

消除魔法数字

之前
function calculateDiscount(total) {
  if (total > 100) return total * 0.1
  if (total > 50) return total * 0.05
  return 0
}

魔法数字:100、50、0.1 是什么意思?

之后
const DISCOUNT_TIERS = {
  PREMIUM: { threshold: 100, rate: 0.10 },
  STANDARD: { threshold: 50, rate: 0.05 },
}

function calculateDiscount(total) {
  const tier = Object.values(DISCOUNT_TIERS)
    .find(t => total > t.threshold)
  return tier ? total * tier.rate : 0
}

提取有意义的常量名称

改进命名

之前
function calc(d, t) {
  const r = d / t
  const x = r * 3.6
  return x
}

晦涩的名称:d、t、r、x 什么都没说明

之后
const MS_TO_KMH = 3.6

function calculateSpeedKmh(distanceMeters, timeSeconds) {
  const metersPerSecond = distanceMeters / timeSeconds
  return metersPerSecond * MS_TO_KMH
}

描述性的名称解释用途

深度分析

质量守护者如何工作

质量守护者不仅仅是检查代码语法——它理解意图并提出 有意义的改进建议,让您的代码库更易于使用。

结构分析

评估函数长度、嵌套和组织结构

重构建议

提供具体的代码改进,而不仅仅是警告

上下文感知

理解您代码库的模式和约定

分析流程

1

测量复杂度

计算圈复杂度和嵌套深度

2

追踪使用

识别未使用的代码和死分支

3

评估清晰度

评估命名、结构和可读性

4

建议重构

提供带示例的具体改进建议

为什么质量很重要

技术债务会累积。质量守护者防止它发生。

更快的入职

干净的代码意味着新开发者能更快理解和贡献

更容易重构

结构良好的代码在需求变化时更容易修改

更少的 Bug

简单、清晰的代码让 Bug 无处藏身

每个 PR 都是提升或降低质量的机会。
质量守护者确保你始终向前。

构建保持可维护性
的代码

让质量守护者在复杂度累积之前捕获它。 免费 14 天,无需信用卡。

复杂度分析
死代码检测
重构建议