design-by-contract
Claude Code design-by-contract 安装与用法:为函数设计输入和返回契约
EnglishClaude Code 安装步骤
- 打开来源文档,从固定提交下载仓库快照。把 software-design-plugin/skills/design-by-contract/ 整个目录复制到练习项目的 .claude/skills/design-by-contract/。
- 检查 .claude/skills/design-by-contract/SKILL.md 位于技能目录第一层。从练习项目根目录打开 Claude Code,在输入框键入 /design-by-contract reserveSeat 开始试用。
中文摘要
设计函数或类时,为调用方和实现方分别写清责任。这个技能会梳理输入的前置条件、返回后的保证和跨方法保持的状态约束,建议把检查放在哪一层。
SKILL.md 中文导读
可复现示例
在 Claude Code 输入 /design-by-contract reserveSeat。补充需求「读入剩余座位和预约数。当前还有 4 个座位,预约 2 个后返回剩余 2 个。预约 5 个时返回错误,原数量应保持 4。」只输出设计建议。工作步骤
- 先列出外部输入和核心函数可以依赖的内部条件。
- 为成功和失败分别写返回保证,并标出剩余座位不能为负数的约束。
- 检查输入校验、提前返回和内部断言各应放在哪一层。
验收方法
报告列出预约数必须为正整数、座位不足时拒绝预约、失败前后座位数相同,并指出输入校验所在边界。
GitHub 原文 · 更新日期
适用环境
在本地 Claude Code 练习项目中使用。直接贴出短函数的需求即可,也可以把现有文件作为目标。
常见问题
用户提交的预约数应由断言检查吗?
把预约数作为外部输入,在入口校验并返回明确错误。用断言检查程序内部本来应始终成立的条件。