AX 爱鲜报

ub-mode

Uncle Bob 推出的 AI 编程代理技能,通过 SKILL.md 约束代理在写改代码时遵循 TDD、根因修复、小步提交等纪律,并配合 CRAP、重复度、变异测试等确定性质量门禁工具。

爱鲜报评分

0.0

0 人评分

4.7k

星数

否

中文

—

主语言

是

活跃

1

贡献者

人工分析

EDITORIAL

推荐理由

作者是软件工程界知名人物 Uncle Bob,项目把「先做对、再做优」的工程纪律固化成可被 AI 代理调用的技能文件,思路清晰且可落地。它不依赖特定语言,适合任何使用 Claude Code、Cursor 等代理工具的团队借鉴。配合 crapper/dryer/mutator 等工具形成量化门禁,比单纯提示词更可靠。

适用场景

  • AI 编程代理的工程规范约束
  • TDD 与重构流程落地
  • 代码复杂度与重复度治理
  • 变异测试驱动的测试补全
  • 团队统一 AI 辅助编码纪律

优点

  • 由知名软件工程作者维护,理念成熟
  • 以技能文件形式接入,跨代理工具通用
  • 配套确定性质量门禁工具,可量化验证
  • 强调小步提交与根因修复,降低技术债

缺点

  • 仓库信息有限,安装与配置需自行摸索
  • 依赖多个外部配套工具,链路较长
  • 对代理工具版本与技能目录结构有要求
  • 偏方法论,缺少开箱即用的自动化脚本
上手难度 进阶

ub-mode 是什么

ub-mode 是 Uncle Bob(Robert C. Martin)发布的一个 AI 代理技能(agent skill)。它的目标很直接:当 AI 代理帮你写代码或改代码时,强制它遵守一套有纪律的软件工程原则,而不是随手生成一堆能跑但难维护的代码。

它参考了 @poteto 的 poteto-mode / pstack 规则并做了精简,同时搭配几个确定性的质量门禁工具,让「好不好」不再只靠感觉。

核心理念:三步走

1. 先让它能工作(First Make it Work)

包括惰性协议、基础性思考、TDD、从第一性原理重新设计、攻击前提、先减后加、结果导向执行、构建杠杆,以及架构层面的纪律:

  • 为领域建模
  • 边界纪律
  • 类型系统纪律
  • 让操作幂等
  • 共享状态先分离再序列化

2. 再让它正确(Then Make it Right)

  • 修复根因而非症状
  • 把工作拆成可验证的小单元
  • 测试行为而非实现
  • 用配套工具做量化门禁
  • 持续重构

3. 日常实践(Practice)

  • 保持工作日志
  • 守护上下文窗口
  • 清理 worktree
  • 小步、有序地提交并推送

配套质量门禁工具

ub-mode 本身是规则,真正的「硬约束」来自这些工具:

工具 作用
crapper 计算圈复杂度、测试覆盖率与 CRAP 分数,要求每个函数 CRAP < 10
dryer 检测结构性代码重复,相似度 >= 0.8 的重复块需要消除
mutator 运行变异测试,暴露未被覆盖的代码与存活变异体
uml-viewer 可视化组件、覆盖率、CRAP、变异分数与依赖方向

这些工具把「代码质量」变成了可测量、可比较的数字,代理和人都无法轻易糊弄过去。

如何接入

项目以单个 SKILL.md 文件分发。基本做法是把该文件放到你所使用代理的技能目录下,例如:

~/.claude/skills/ub-mode/SKILL.md
~/.cursor/skills/ub-mode/SKILL.md
~/.grok/skills/ub-mode/SKILL.md

然后在代理中调用 /ub-mode 即可启用。具体目录名与调用方式请以你所使用代理工具的文档为准。

适合谁用

  • 已经在用 Claude Code、Cursor 等代理工具写代码的开发者
  • 希望把 TDD、重构、小步提交等纪律固化进 AI 工作流的团队
  • 关注复杂度、重复度、变异测试等量化指标的技术负责人

注意点

ub-mode 更偏方法论与规则集,本身不提供一键安装脚本;配套工具需要分别获取和配置。建议先在小项目上试用,确认代理行为符合预期后再推广到团队。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。