最佳实践
简介
本文档汇总了使用 AI 编程助手时的最佳实践和推荐模式。
提示词工程
清晰具体
javascript
// ✅ 好的提示词
"创建一个 React 函数组件,接收 name 和 age 作为 props,显示问候消息";
// ❌ 不好的提示词
"创建一个组件";提供上下文
javascript
// ✅ 包含上下文
"在以下 React 项目中,创建一个用户登录表单组件。项目使用 TypeScript 和 Tailwind CSS";
// ❌ 缺少上下文
"创建登录表单";分步骤
javascript
"1. 创建一个数据验证函数
2. 使用该函数验证用户输入
3. 显示适当的错误消息"代码生成
明确要求
javascript
// ✅ 具体要求
"创建一个处理 API 请求的函数,包含:
- 错误处理
- 重试逻辑(最多 3 次)
- 超时设置(5 秒)"
// ❌ 模糊要求
"创建一个 API 函数"指定风格
javascript
"使用函数式编程风格创建以下功能...";
"使用面向对象的方式实现...";包含示例
javascript
"创建一个类似于这个示例的函数:
const example = (a, b) => a + b;
但应该处理字符串和数字"调试技巧
1. 逐步调试
javascript
// ❌ 一次性请求修复整个功能
"修复这个复杂的 bug";
// ✅ 分步骤调试
"第一步:帮我理解这段代码的作用";
"第二步:找出可能的错误点";
"第三步:提供修复方案";2. 提供错误信息
javascript
// 包含完整的错误消息和堆栈跟踪
"出现错误:TypeError: Cannot read property 'x' of undefined
at line 45 in user-service.ts
完整代码如下..."3. 共享相关代码
javascript
// 提供足够的上下文代码
// 不要只分享有问题的那一行重构建议
重构前
理解现有代码
- 先让 AI 解释代码的作用
- 理解为什么这样写
识别问题
- 找出代码异味
- 识别性能瓶颈
重构过程
javascript
// 请求解释
"解释这段代码的功能和工作原理";
// 请求改进建议
"这段代码可以如何改进?请列出 3 个建议";
// 请求重构
"根据第 2 点建议重构这段代码";重构后
- 验证功能正确性
- 检查性能改进
- 确保代码可读性
文档生成
注释风格
javascript
// 请求 JSDoc 注释
"为以下函数生成完整的 JSDoc 注释";README 创建
javascript
"为这个项目创建一个 README.md,包含:
- 项目简介
- 安装步骤
- 使用示例
- API 文档"测试编写
单元测试
javascript
"为以下函数编写单元测试,使用 Jest:
- 测试正常情况
- 测试边界情况
- 测试错误情况"集成测试
javascript
"创建集成测试,验证用户注册流程的各个步骤";端到端测试
javascript
"使用 Cypress 编写端到端测试,模拟用户登录和创建订单";性能优化
识别瓶颈
javascript
"分析以下代码的性能瓶颈并提供优化建议";优化方案
javascript
"优化以下代码,目标是将执行时间从 100ms 降到 50ms 以下";监控和测量
javascript
"添加性能监控代码,记录函数执行时间";安全实践
输入验证
javascript
"创建一个输入验证函数,防止 SQL 注入和 XSS 攻击";认证和授权
javascript
"实现基于 JWT 的用户认证,包含刷新令牌机制";数据加密
javascript
"实现敏感数据的加密存储和解密功能";团队协作
代码审查
javascript
"审查以下代码并提供改进建议:
1. 代码质量
2. 性能
3. 安全性
4. 可维护性"知识共享
javascript
"创建一个代码示例库,展示常见的解决方案和模式";持续学习
探索新功能
javascript
"向我解释 React 18 的新特性并提供示例";最佳模式
javascript
"展示在 [特定场景] 下的设计模式和最佳实践";常见陷阱
❌ 避免
过于依赖 AI
- 不要盲目复制粘贴代码
- 始终理解代码的工作原理
缺乏上下文
- 提供足够的背景信息
- 包含相关的代码片段
不进行测试
- 生成的代码需要测试
- 验证功能正确性
✅ 推荐
迭代式开发
- 小步骤、频繁反馈
- 逐步构建复杂功能
学习导向
- 让 AI 解释概念
- 理解最佳实践
质量优先
- 注重代码质量
- 遵循项目标准
总结
遵循这些最佳实践将帮助你:
- 更有效地使用 AI 助手
- 编写更好的代码
- 提高开发效率
- 减少错误和问题
记住,AI 是你的助手,而不是替代品。你的知识和判断仍然是关键!