2026年6月14日 2 分钟阅读

Brooks-Lint 完全指南:让 AI 代码审查扎根于经典工程智慧

tinyash 0 条评论

AI 编码工具每天都在帮你写更多代码,但有一个问题越来越突出——数量上去了,质量呢?

Cursor、Claude Code、Codex CLI 这些工具生成代码的速度惊人,但它们不会自动让你的代码架构更清晰、耦合更低、领域模型更准确。传统的 linter(ESLint、Pylint)只能检查语法和风格问题,对架构漂移、知识孤岛、领域模型失真这类深层次问题毫无办法。

Brooks-Lint 正是为解决这个问题而生——它是一个 AI 代码审查技能(Skill),扎根于 12 本经典软件工程著作,为 AI 编码工具提供结构化、可追溯、可执行的代码审查。

Brooks-Lint 是什么?

Brooks-Lint 不是一个独立的 CLI 工具,也不是一个 SaaS 平台——它是一个 Agent Skill,安装到 Claude Code、Codex CLI、Gemini CLI、Cursor 等 AI 编码工具后,通过斜杠命令(/brooks-review$brooks-review)直接调用。

它的核心能力:将代码质量分解为 6 个生产代码衰减风险6 个测试套件衰减风险,每个风险维度都对应经典著作中的具体章节,审查结果以「症状 → 出处 → 后果 → 修复方案」的结构化格式呈现。

十二本经典著作

Brooks-Lint 的知识根基来自以下 12 本书:

著作作者贡献维度
《人月神话》Frederick Brooks变更传播、依赖混乱、复杂度
《代码大全》Steve McConnell认知过载、复杂度
《重构》Martin Fowler全部 6 个风险维度
《整洁架构》Robert C. Martin变更传播、依赖混乱
《程序员修炼之道》Hunt & Thomas变更传播、知识重复、复杂度
《领域驱动设计》Eric Evans认知过载、知识重复、领域失真
《软件设计的哲学》John Ousterhout认知过载、复杂度
《Google 的软件工程》Winters 等变更传播、依赖混乱
《单元测试的艺术》Roy Osherove测试 4 个维度
《Google 如何测试软件》三位作者测试覆盖率
《高效使用遗留代码》Michael Feathers测试重构
《xUnit 测试模式》Gerard Meszaros全部 6 个测试维度

六大衰减风险体系

Brooks-Lint 评估代码的六个维度:

风险诊断问题来源
🧠 认知过载理解这段代码需要多少脑力?代码大全、重构、DDD
🔗 变更传播一次修改会牵动多少无关模块?重构、整洁架构、程序员修炼之道
📋 知识重复同一个决策在多少地方重复表达?程序员修炼之道、重构、DDD
🌀 意外复杂度代码比问题本身更复杂了吗?重构、代码大全、人月神话
🏗️ 依赖混乱依赖方向是否一致?整洁架构、人月神话、Google 工程
🗺️ 领域模型失真代码是否忠实反映领域?DDD、重构

测试套件同样有六个维度:测试模糊性、测试脆弱性、测试重复、Mock 滥用、覆盖率幻觉、架构不匹配。

安装

Brooks-Lint 支持几乎所有主流 AI 编码工具。以 Claude Code 为例:

/plugin marketplace add hyhmrright/brooks-lint
/plugin install brooks-lint@brooks-lint-marketplace

对 Codex CLI:

curl -fsSL https://raw.githubusercontent.com/hyhmrright/brooks-lint/main/scripts/install.sh | bash -s -- codex

对其他平台(OpenCode、Cursor、Windsurf、Gemini CLI、Copilot、Kiro 等),同样的安装脚本:

curl -fsSL https://raw.githubusercontent.com/hyhmrright/brooks-lint/main/scripts/install.sh | bash -s -- cursor

安装后,斜杠命令会自动注册,无需额外配置。

六大命令详解

1. PR 审查(/brooks-review

粘贴一段 diff 或让 AI 分析变更文件,输出结构化的审查报告。每个发现都包含症状描述、著作出处、后果评估和修复建议。

例如,面对这样的代码:

def update_profile(self, user_id, name, email, avatar_url):
    user = self.db.query(f"SELECT * FROM users WHERE id = {user_id}")
    user['email'] = email
    ...
    if user['email'] != email:   # 永远为 False——静默 bug
        self.smtp.send(...)

Brooks-Lint 会输出:

Health Score: 28/100

🔴 变更传播 —— 一个方法因四个无关业务原因同时变化
症状: update_profile 同时处理字段更新、邮件通知、积分重算、缓存失效
出处: Fowler《重构》— 发散式变化
后果: 积分规则修改可能破坏邮件通知,每次编辑都带来跨领域回归风险
修复: 拆分为 NotificationService、LoyaltyService

2. 架构审计(/brooks-audit

扫描项目结构,生成 Mermaid 依赖图,检测循环依赖和 Conway 定律偏离。模块按严重程度着色:红=关键、黄=警告、绿=健康。

3. 技术债务评估(/brooks-debt

按 Pain × Spread 优先级对债务排序,生成「Critical / Scheduled / Monitored」三级修复路线图。

4. 测试质量审查(/brooks-test

审查测试套件的六个测试空间衰减风险,基于 xUnit 测试模式等四本测试专著的框架。

5. 健康仪表盘(/brooks-health

快速扫描所有四个质量维度,输出加权综合 Health Score(0-100)。适合发布前检查或团队接手旧项目时的大盘评估。

6. 全量扫描(/brooks-sweep

一次执行覆盖所有生产代码和测试维度的扫描,并自动应用安全修复——对单文件安全变更直接应用,多文件或接口变更需确认,复杂架构决策标记为手动处理。

CI/CD 集成

Brooks-Lint 提供 GitHub Action,每次 PR 自动执行审查并发表评论:

name: Brooks-Lint PR Review
on:
  pull_request:
    types: [opened, synchronize, reopened]

jobs:
  brooks-lint:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: hyhmrright/brooks-lint/.github/actions/brooks-lint@main
        with:
          mode: review
          anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
          fail-below: 70

每次运行花费约 $0.05-0.15,建议仅对 pull_request 事件开启。

横向对比

Brooks-LintESLint/PylintCopilot Review原生 Claude
语法风格检测~
结构化诊断链(症状→出处→后果→修复)
引用经典著作
一致严重度标签~
架构级洞察~~
领域模型分析~~
零配置
语言无关

✅=可靠, ~=偶尔/不稳定, ❌=不支持

Brooks-Lint 不是要取代 linter——它捕获的是 linter 抓不到的问题:架构漂移、知识孤岛、领域模型失真——那些让团队慢下来几个月还没人注意的问题。

自定义配置

项目根目录下放一个 .brooks-lint.yaml 即可定制审查行为:

version: 1

disable:
  - T5   # 跳过覆盖率检查

severity:
  R1: suggestion   # 将认知过载降为建议级别

ignore:
  - "**/*.generated.*"
  - "**/vendor/**"

focus:
  - R2
  - R4   # 仅评估变更传播和复杂度

所有配置项都是可选的,不配文件就使用默认行为。

小结

Brooks-Lint 的价值不在于它能发现什么——Claude 本身就能发现很多问题——而在于它每次都能一致地发现什么,并带着可追溯的证据和可执行的修复方案。基准测试显示,Brooks-Lint 的结构化发现通过率高达 94%,而原生 Claude 仅 16%。

在 AI 编码的时代,我们比任何时候都更需要这些来自 Brooks、McConnell、Fowler 们的智慧。Brooks-Lint 把这些六十年工程智慧带到了你的斜杠命令里。

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。