老头子为啥亲自下场
Robert C. Martin,人称 Uncle Bob,《代码整洁之道》的作者,2026 年 10 月 25 日亲手开了个仓库ub-mode:一个给 AI 编程智能体立规矩的 agent skill。四天涨到 4,700 多星——看来不只是老爷子看不惯 AI 瞎写代码,大家都憋着一肚子火。

先跑通、再做对、持续实践
技能把开发流程切成三段。第一段 First Make it Work:只求跑通,允许走捷径,但必须先写测试(TDD)、先想清楚再动手,动刀前先质疑需求本身;第二段 Then Make it Right:修根因、消重复、做重构,测试测的是行为不是实现;第三段 Practice:记日志、及时清理 worktree、小步有序提交。每段都有明确的纪律,智能体想跳步,门禁直接卡住。
细看第一阶段的清单很有老爷子风格:Laziness Protocol(能不动手就不动手)、Foundational Thinking(先想透再写)、Attack the Premise(先质疑需求本身对不对)、Subtract Before You Add(先做减法)。这些不是口号,是智能体每一步都要过的检查点,配上「把工作切成可验证的小单元」的要求,AI 想一口气梭哈写完?门都没有。
复杂度、重复度、变异测试
光讲道理没用,ub-mode 配了四个确定性工具当量尺:crapper 算圈复杂度和 CRAP 分,函数 CRAP 必须小于 10;dryer 查结构性重复,相似度 0.8 以上的块必须消掉;mutator 跑变异测试,专门抓那些「测试全过但变异体杀不掉」的假覆盖;uml-viewer 把组件、覆盖率、复杂度画成图,架构一歪马上能看见。
装进智能体只要两步
安装简单到离谱:把仓库里的 SKILL.md 拷进智能体的 skills 目录,比如 ~/.claude/skills/ub-mode/SKILL.md(Cursor、Grok 同理换路径),然后在会话里敲 /ub-mode 激活。纯文件落地,零依赖,不用起服务,换台机器拷个文件就行。
第三阶段 Practice 里还有几条工程纪律:记开发日志别断、 看好上下文窗口别爆掉、用完的 worktree 及时清理、小步有序提交推送。都是老程序员的肌肉记忆,现在变成智能体的紧箍咒。
两处提醒
第一,变异测试在大型仓库跑得慢,建议先在核心模块开,别一上来全量;第二,CRAP 小于 10 是硬线,但有些业务逻辑天生复杂,卡太死会误伤,按团队实际情况调。规矩是死的,人才是活的——老爷子定的规矩,执行时也得动脑子。