十次合理的决定叠起来就是四种风格——分叉不是谁不用心,而是独立决定的形状。被打破的信念是「AI 写出来的代码风格不可控,只能靠人一遍遍 review」。
Module 01 · 知识梳理 · 第 1 章
分叉不是因为谁不用心,而是因为十个独立的决定本来就长这样。
Module 02 · 知识梳理 · 第 2 章
这一章不是警告清单,是法典条文的来源——每一种错,逼出一条规矩。
Module 03 · 知识梳理 · 第 3 章
写下来只是第一步。一条规矩值多少钱,取决于谁在执行它。
Module 04 · 现场演示
讲的顺序很重要:先念规矩(听起来像废话),再讲那次返工(原来如此),最后指它现在归谁管。反过来讲就变成了炫耀事故。
下面五条都是这个仓库里真实存在的规矩 · 以及真实逼出它们的那次返工
入场动画绝不能是「内容可见」的前提
法典 + 代码注释逼出它的那次两张海报的面板被包在 initial={opacity:0} 里,在跑不了动画帧的环境下整页空白。第一次以为是环境问题,第二次才承认是设计问题。
没有断言的字符串替换,等于没做替换
法典逼出它的那次一处本该把误区文案接进着重渲染器的替换悄无声息地没匹配上,于是三段正文把 ** 原样印了出来——而 tsc 和 lint 全绿。
文件语法被改坏的那一刻,绝不能再跑 formatter
法典逼出它的那次一次批量替换削掉了 JSDoc 的开头,我紧接着跑了 lint:fix;biome 在错误恢复下重排文件,静默吃掉了四个类型键,而 tsc 只报语法错、正好把真正的损失盖住了。
节点副行换行,不截断
kit 的默认值逼出它的那次一张运行图六个节点里有两个的说明被切了,而被切掉的那半恰恰是「这个节点为什么存在」——截断永远先吃掉信息密度最高的尾部。
颜色只能来自主题变量,禁止硬编码色值
门禁(lint 规则)逼出它的那次一处 ring-black/10 在暗色主题下变成隐形的描边;它在浅色下看起来完全正常,所以走过了自查。
注意这五条的共同点:没有一条是坐下来想出来的。它们都是某次「以为做完了、其实没有」之后写下来的——所以一部法典的长度不该由 想象力决定,该由你被骗过的次数决定。
Module 05 · 带走物
三条就够。第四条不该由今天下午的想象力提供,该由下一次真实的返工提供。