Claude Code Rust 技能:把类型约束集中到 try_new
EnglishClaude Code 安装步骤
- 打开 GitHub 固定提交的 `.claude/skills/validate-in-constructor/SKILL.md`,核对内容与使用条件。
- 在自己的项目中创建 `.claude/skills/validate-in-constructor/`,把核对后的文件保存为 `.claude/skills/validate-in-constructor/SKILL.md`。
- 在该项目根目录启动 Claude Code,在斜杠菜单中选择 `/validate-in-constructor`。
中文摘要
将 Rust 配置的有效范围集中到唯一构造器。非法输入直接返回具名错误,方便调用方和单元测试区分。
SKILL.md 中文导读
可复现示例
以列表显示行数为练习,只允许 1 至 24 行。把检查放进 try_new,保持字段私有,并给出正常与超界输入。
`DisplayRows::try_new(0)` · `DisplayRows::try_new(12)` · `1..=24`工作步骤
- 写清类型成立的范围和拒绝输入的错误。
- 将检查放入唯一验证构造器并保持字段私有。
- 为合法值、零及上界编写测试。
验收方法
`DisplayRows::try_new(12)` 创建 `12` 行配置。输入 `0` 返回 `InvalidRowCount`,外部只能通过验证构造器初始化。
GitHub 原文 · 更新日期
适用环境
在 Rust 工作区中使用 Claude Code,准备一个新建配置类型,并明确合法值的区间。搭配轻量单元测试。
常见问题
其他入口也需要复制一份验证吗?
让其他构造入口委托同一个验证构造器。这样有效范围在任何创建路径上一致。
相关指南
相关推荐
advice-provider-hygiene 技能
0xMiden/protocol
Claude Code assert-specific-error-in-tests 技能:断言准确的 Rust 错误
0xMiden/protocol
Claude Code Rust 技能:为外部输入加法处理溢出
0xMiden/protocol
Claude Code conversion-method-naming 技能:按所有权给 Rust 转换方法命名
0xMiden/protocol
decouple-component-from-storage 技能
0xMiden/protocol
felt-construction 技能
0xMiden/protocol