SuperAPI AI 工具集

codebase-design

编程与开发

查看项目

更新于 10-16 00:20

技能介绍

用途:为设计或重构代码提供统一的“深模块”语言与原则,目标是给调用方带来杠杆、给维护者带来局部性、给所有人带来可测试性。

主要能力:定义并统一使用一组术语——模块(任何有接口和实现的东西,刻意与规模无关)、接口(调用方正确使用模块所需知道的一切,含类型签名、不变量、顺序约束、错误模式、必需配置、性能特征)、实现、深度(接口处的杠杆,大量行为藏在小接口后)、接缝(可在不修改该处的情况下改变行为的位置)、适配器、杠杆、局部性。提供深模块与浅模块的对比,以及设计接口时的自问:能否减少方法数、简化参数、隐藏更多复杂度。

原则:深度是接口的属性而非实现的属性;删除测试(删掉模块后复杂度消失即为直通,复杂度在 N 个调用方重现则值得保留);接口即测试面;一个适配器只是假想接缝,两个适配器才是真实接缝,不要引入没有实际变化的接缝。可测试性设计:接受依赖而非创建依赖、返回结果而非产生副作用、缩小表面积。

使用方式:在设计与重构代码时使用这套语言和原则;深化一组模块见 DEEPENING.md(依赖分类、接缝纪律、替换而非分层测试);探索替代接口见 DESIGN-IT-TWICE.md(并行子代理以多种截然不同的方式设计接口,再按深度、局部性、接缝位置比较)。

限制:资料未提供安装命令、平台、收费或价格信息;术语应严格使用,不要用 component、service、API、boundary 替代。