具体指令编写
学习如何编写清晰、具体的指令,帮助Claude Code准确理解你想要完成的任务。
为什么具体性很重要
Claude Code在以下情况下表现最佳:
- 清晰、可执行的指令
- 关于目标的具体上下文
- 相关的约束和要求
- 预期的结果
编写有效指令
1. 明确目标
差的例子: “修复这个代码” 好的例子: “修复用户认证模块中的TypeScript编译错误”
2. 提供上下文
差的例子: “添加一个按钮” 好的例子: “在登录表单中添加一个提交按钮,在发送请求前验证用户输入”
3. 指定约束条件
差的例子: “让它更快” 好的例子: “优化数据库查询,将加载时间减少到200毫秒以下,同时保持数据准确性”
4. 包含成功标准
差的例子: “改进UI” 好的例子: “改进仪表板的移动端响应式设计,确保在320px及更大屏幕上正确显示”
常见指令模式
针对Bug修复
修复[文件/组件/模块]中的[具体错误/问题],该问题在[具体条件]下发生。预期行为应该是[描述正确行为]。
针对功能开发
实现[功能名称],允许用户[具体能力]。应该包括[列出要求]并遵循[设计/架构模式]。
针对代码重构
重构[具体代码部分]以[具体改进],同时保持[现有功能/API兼容性]。
高级指令技巧
渐进式披露
从高层目标开始,然后根据需要提供详细信息:
- 初始: “创建用户仪表板”
- 跟进: “包括分析、最近活动和快速操作的小部件”
- 详细: “分析小部件应显示过去30天的日活跃用户”
条件指令
对复杂场景使用”如果-那么”模式:
如果数据库迁移失败,回滚到之前版本并创建详细错误日志。如果成功,运行集成测试并更新部署文档。
参考指令
指向现有模式:
按照现有用户端点的相同模式创建新的API端点,但用于管理项目。
最佳实践
应该做的
- 使用具体的技术术语
- 在相关时引用确切的文件路径和行号
- 提供预期输出的示例
- 提及任何依赖项或先决条件
- 指定测试要求
不应该做的
- 使用”更好”或”更整洁”等模糊术语
- 假设Claude了解你的具体业务逻辑
- 为了节省时间而跳过重要上下文
- 提供冲突的要求
- 忘记提及边缘情况
示例:完整指令
请创建一个名为UserProfileCard的React组件,要求如下:
1. 显示用户头像、姓名、邮箱和加入日期
2. 接受用户数据作为props,使用TypeScript接口
3. 使用我们现有的设计系统(src/components/ui/)
4. 处理加载和错误状态
5. 对移动端和桌面端响应式
6. 包含符合品牌指南的悬停效果
7. 具有适当的无障碍属性
8. 包含使用Jest和React Testing Library的单元测试
组件应该在src/components/UserProfileCard/目录中创建,包含index.tsx、styles.module.css和UserProfileCard.test.tsx文件。
下一步: 上下文管理 - 学习如何有效管理上下文。
最后更新于: