Claude Code architecture:用接口契约隔离实现
EnglishClaude Code 安装步骤
- 打开 GitHub 固定提交的 `.claude/skills/architecture/SKILL.md`,核对内容与使用条件。
- 在自己的项目中创建 `.claude/skills/architecture/`,把核对后的文件保存为 `.claude/skills/architecture/SKILL.md`。
- 在该项目根目录启动 Claude Code,在斜杠菜单中选择 `/architecture`。
中文摘要
设计小而稳定的接口、错误语义和契约测试,将领域服务与具体存储实现解耦。
SKILL.md 中文导读
可复现示例
在租借记录样例 rent-31 中,目录服务读取图书可借数量。当前内存实现有 {item: 'atlas', available: 4}。新实现也应返回这条记录,查不存在的图书返回空结果。工作步骤
- 从调用方需要的行为出发写接口和领域错误语义。
- 把同一组预期行为用于验证各个实现,复查调用方无需依赖具体类型。
验收方法
目录服务只依赖查找图书的接口。同一套测试在两个实现上都应返回 {item: 'atlas', available: 4},缺失记录返回 null。
GitHub 原文 · 更新日期
适用环境
在 Claude Code 中打开要调整的代码。准备调用方、可替换实现和能复用的契约测试。
常见问题
什么情况下可以先保留具体实现?
如果模块是没有副作用的纯函数,或边界尚不清楚,可以先写具体实现,在有替换或测试需求时提取接口。