跳转到内容
关系图谱

codebase-design(Matt)

343 字 1 分钟

属性 8
repo
mattpocock_skills
skill
codebase-design
source
mattpocock_skills/skills/engineering/codebase-design/SKILL.md
invoke
model
phase
define
cost
low
status
stable
local
same
一句话

设计深模块的共享词汇与原则:module、interface、depth、seam、adapter、leverage、locality,是参考不是流程,不给产物。

何时用 ​

  • 适合:已定好要改哪个模块,要想接口形状、seam 放哪、可测性;或要争论一个设计词的确切意思。
  • 不适合:还不知道改哪个模块(先用 matt-improve-codebase-architecture 扫);领域词汇的对齐是 matt-domain-modeling 的事。

怎么用 ​

text
这个模块的接口是不是太宽了,按 deep module 的思路过一遍
  1. 用它的词汇讨论,禁用 component、service、API、boundary 这些松散替代词。
  2. 问深浅看接口不看实现:能不能减方法、简化参数、藏更多复杂度。
  3. 三条判断:deletion test(删掉模块后复杂度消失还是摊给 N 个调用方)、接口即测试面、一个 adapter 是假想 seam 两个才是真 seam。
  4. 要按依赖深挖或并行设计多套接口,读 DEEPENING.md 和 DESIGN-IT-TWICE.md。

产出 ​

  • 无文件产物;对话中的设计判断和统一词汇。

要点与坑 ​

  • 它不跑循环不出文件也不主动问,指着它说「go」只会让 agent 自创流程。
  • internal seam(模块内部自己测试用)和 external seam(接口处)分开,别把内部形状当接口。
  • matt-tdd 和 matt-improve-codebase-architecture 都讲这套词汇。

关联 ​