📄 一句话概括
规则文件的第一价值不是省字,是让每一次开工都从同一个起点开始——它把你反复交代的东西变成只交代一次。
📝 本节和前面几节的关系
上一章讲的是单次任务里怎么配合,这一节讲一件跨任务、跨会话都长期生效的东西:给它的地图。
一、先算那笔账
假设你每次开工都要交代同样五条要求:只改某个目录、不要重命名、不要升级依赖、交付前跑测试、提交信息写中文。 口头交代,第十次仍然要交代一遍;写进文件,第一次之后就省掉了。 省下的字不算什么。要紧的是另一件事:
二、它真正解决的是【每次都从同一个起点开始】
口头交代的版本会漂:这次多说一句、下次忘了说,同一个项目在不同会话里规矩不一样。 规则文件把这条钉在文件里,不靠记性。 所以它的价值不在省事,在一致性——同一个项目,今天和下个月用同一套规矩。
三、为什么说它是最重要的文件
项目里有两类文件:一类是给程序看的(源码、配置),一类是给它看的(规则文件)。 第一类写错了程序会报错;第二类写错了它只是【默默地做错事】。 因为不出错,所以更重要——你不会被提醒。
四、一个直白的说法
你花多少时间在写代码上,就该花差不多多少时间在告诉它怎么干这份活上。 这不是额外开销,这是这份工作本来就有的成本——你只是第一次把它写下来了。
五、动手 Demo:同一句话,交代十次的代价
下面把五条要求的两种交代方式并排算账。
rules = [u"只改 src 目录", u"不要重命名文件", u"不要升级依赖",
u"跑完测试再交付", u"提交信息写中文"]
per = sum(len(r) for r in rules)
T([u"每次口头交代", u"%d 字" % per, u"%d 字" % (per * 10)], [16, 16, 16])
T([u"写进规则文件", u"%d 字" % per, u"0 字"], [16, 16, 16])
实跑输出:
--------------------------------------------------------------------
同一句话,交代十次的代价
--------------------------------------------------------------------
先算一笔账。假设你每次开工都要交代同样五条要求:
规则内容:只改 src 目录;不要重命名文件;不要升级依赖;跑完测试再交付;提交信息写中文
五条加起来 36 个字。分两种做法:
做法 第 1 次 第 10 次 累计多写的字
-------------------------------------------------------
每次口头交代 36 字 36 字 360 字
写进规则文件 36 字 0 字 36 字
差 324 个字不算什么,要紧的是**它每次都要先读一遍你的项目才知道你是谁**。
规则文件的第一价值不是省字,是**让每一次开工都从同一个起点开始**。
字数的差距只是表象,真正的差别在下一句:它每次都要先读一遍你的项目才知道你是谁。 所以规则文件的第一价值不是省字,是每次开工从同一个起点开始。
30 秒实验
- 数一数:你现在口头交代过几次同样的要求?超过三次就写进文件。
- 想一想你的项目里有哪些【它做错了也不会提醒你】的地方——那些正是规则文件该管住的。
常见误区
- 把规则文件当成给新人的文档。它的读者是它,不是人;写人话、写指令、写红线。
- 只在出问题时才想起来写它。规则是日常文件,不是事故报告。
自测三问(点开对答案)
1. 规则文件的第一价值是什么? —— 让每一次开工都从同一个起点开始——一致性,不是省字。 2. 为什么它比源码更重要? —— 源码写错会报错,规则写错它只是默默地做错事——你不会被提醒。 3. 口头交代的根本缺陷是什么? —— 版本会漂:这次多说一句、下次忘了,同一个项目规矩不一样。- ☐ 下一节(5.2 从【护栏】开始,别写【百科全书】)
相关笔记
- 🐳 DeepSeek Harness技术架构原理 · 索引 — 上下文与记忆在工程里的实现
- 🧡 Claude Code橙皮书 · 索引