SuperAPI AI 工具集

oracle-codebase-design

编程与开发

查看项目

更新于 10-16 06:18

技能介绍

用途:在设计与修改模块接口、决定接缝位置、处理错误与依赖时,提供统一词汇和设计原则,帮助降低复杂度(变更放大、认知负担、未知未知),对抗依赖与晦涩两大成因。

主要概念:模块(有接口与实现,尺度无关);接口(调用方正确使用所须知的全部内容,含不变式、顺序约束、错误模式、配置与性能特征);实现;深度(接口处的杠杆,大行为藏于小接口);接缝(Feathers,可在此改行为而无需改此处);适配器(在接缝处满足接口的具体物);杠杆与局部性。

主要能力:区分深模块与浅模块,给出减少方法数、简化参数、隐藏复杂度、消除错误的自问清单;提出原则:删除测试、在正确层级测试、解析而非校验、让非法状态不可表示、函数式核心加命令式外壳、错误即值、把错误定义掉、信息隐藏、复杂度下推、通用模块更深、不同层不同抽象、通用机制与专用用法分离、常见情形简单化、注释与命名承载设计、接缝纪律(一个适配器是假想接缝,两个才是真实接缝)。

使用方式:按术语表统一用词,不要用 component、service、API、boundary 替代;项目自有层名(如 OrderService)可保留,但用术语描述其深度、接缝与接口。加深模块集群见 deepening.md,探索替代接口见 design-it-twice.md(并行子代理设计多种方案后比较),红线清单见 red-flags.md,领域命名歧义用 oracle-domain-modelling,有争议的设计决策走 oracle-grill-me。

适用场景:模块接口设计、接缝选址、依赖处理、测试层级选择、命名与领域语言对齐。

限制:明确拒绝以“实现行数比接口行数”定义深度,也拒绝把接口窄化为 TypeScript interface 关键字或类公开方法;本文档未提供具体安装命令、平台支持、价格或效果数据。