SuperAPI AI 工具集

codebase-design

编程与开发

查看项目

更新于 10-16 04:56

技能介绍

用途:这是一套面向代码设计讨论的共享词汇与原则,目标是小接口隐藏大量行为、将接口放在清晰接缝处、并让测试通过该接口自然进行,从而让调用者获得杠杆、维护者获得局部性。适用于设计或重构时的模块接口改进、寻找深化机会、决定接缝位置、提升可测试性或 AI 可导航性,也可作为其他 Skill 的术语基础。

核心词汇:模块指任何有接口与实现的结构,与规模无关;接口指调用者正确使用模块必须知道的全部信息,含不变量、顺序约束、错误模式、必需配置和性能特征;实现指模块内部代码;深度指接口提供的杠杆;接缝指无需在调用处编辑即可改变行为的位置,也是接口所在处,区别于 DDD 业务边界;适配器指在接缝处满足接口的具体结构;杠杆与局部性分别指调用者与维护者从深度获得的收益。引用真实代码时保留已有标识和项目术语,不强行重命名 Service、API、Component。

原则:深度是接口属性而非实现属性;删除检验——若删除后复杂度消失则只是转发层,若重新散落到多个调用者则有价值;接口即测试面;一个适配器是假想接缝,两个适配器才是真实接缝,只有确有变化才引入接缝。设计接口时自问能否减少方法、简化参数、在内部隐藏更多复杂度。

可测试性设计:接收依赖而非在内部创建;返回结果而非只产生副作用;保持较小表面积。

使用条件:使用已加载的 CONTEXT 术语与 RULE;未加载则按项目知识协议执行,知识不可用时继续并如实说明。进一步可读取 DEEPENING.md 了解依赖分类、接缝纪律与替换而非叠加的测试策略,读取 DESIGN-IT-TWICE.md 比较不同接口方案。

限制:不采用以实现行数与接口行数之比衡量深度,不把接口窄化为 TypeScript 关键字,不用边界表示接缝。收费、平台与安装信息暂未提供。