SuperAPI AI 工具集

codebase-design

设计与创作

查看项目

更新于 10-15 21:08

技能介绍

用途:为代码设计与重构提供一套统一的“深度模块”词汇和原则,帮助设计或改进模块接口、寻找深化机会、决定 seam 位置,让代码更可测试、更易被 AI 导航。

主要能力:定义并区分 Module、Interface、Implementation、Depth、Seam、Adapter、Leverage、Locality 等术语,强调精确使用、不要替换为“组件”“服务”“API”“边界”。区分深模块(小接口+大量实现)与浅模块(大接口+薄实现),并给出设计接口时的自问:能否减少方法数量、简化参数、在内部隐藏更多复杂性。

核心原则:深度是接口的属性而非实现的属性;删除测试(想象删除模块,若复杂性消失则是透传,若在 N 个调用者间重现则有价值);接口就是测试面;一个适配器意味着一个假设的 seam,两个适配器意味着一个真实的 seam。设计可测试性时:接受依赖而非创建依赖、返回结果而非产生副作用、保持小表面积。

使用方式:在设计和重构代码的任何地方使用这套语言和原则。资料提到可参考 DEEPENING.md(给定依赖关系深化一个集群:依赖分类、seam 纪律、替换而非分层测试)和 DESIGN-IT-TWICE.md(启动并行子 agent 以多种方式设计接口,再比较深度、局部性和 seam 放置)。

适用场景:设计或改进模块接口、寻找深化机会、决定 seam 位置、提升可测试性、让代码更易被 AI 导航,或其他 skill 需要深度模块词汇时。

限制:资料未提供具体安装命令、平台支持、收费或价格信息;被否定的框架包括以实现行数与接口行数之比衡量深度(Ousterhout)、把 Interface 窄化为 TypeScript 的 interface 关键字或类 public 方法、以及使用“Boundary”一词(与 DDD 限界上下文 overloaded)。