SuperAPI AI 工具集

codebase-design

设计与创作

查看项目

更新于 10-16 03:49

技能介绍

用途:codebase-design 提供设计“深模块”的共享词汇与原则,用于在编写或重构代码时,让大量行为位于小接口之后,并把接口放在干净的接缝上,且可通过该接口测试。目标是给调用方带来杠杆、给维护者带来局域性、给所有人带来可测试性。

主要能力:给出统一术语与判断原则。术语包括模块(有接口与实现的任何东西,规模无关)、接口(调用方正确使用所需知道的一切:类型签名、不变量、顺序约束、错误模式、必需配置、性能特征)、实现、深度(接口处的杠杆,大量行为位于小接口后为深,接口几乎与实现一样复杂为浅)、接缝(可在不编辑该处的情况下改变行为的位置)、适配器、杠杆与局域性。原则包括:深度是接口而非实现的属性;删除测试(想象删除该模块,若复杂度消失说明它只是直通,若复杂度在多个调用方处重现说明它有价值);接口即测试面;一个适配器意味着假想接缝,两个适配器才意味着真实接缝;除非确有变化跨接缝,否则不引入接缝。

使用方式:设计接口时问三件事——能否减少方法数量、能否简化参数、能否把更多复杂度藏在内部。可测试性建议:接受依赖而非创建依赖,例如 function processOrder(order, paymentGateway) {} 优于在函数内 new StripeGateway();返回结果而非产生副作用,例如函数计算折扣并返回,优于直接修改购物车 total。

适用场景:任何正在设计或重构代码的地方,尤其是想改进模块接口、寻找加深机会、决定接缝位置时。

限制:该资料为原则与词汇说明,未提供具体安装命令、运行步骤或收费信息。文中提到进一步内容见 DEEPENING.md(依赖类别、接缝纪律、替换式而非分层式测试)与 DESIGN-IT-TWICE.md(并行子代理以截然不同方式设计接口,再按深度、局域性和接缝位置比较),但未在本次资料中提供其细节。