新增功能: - 创建完整的 AI 辅助开发工作流程指南 - 提供实用的提示词模板和检查清单 - 包含详细的实战案例和最佳实践 文档更新: - 在 README 中强调 AI 指南的重要性 - 添加醒目的必读警告和使用建议 - 重新组织开发文档结构 本次更新旨在帮助开发者使用 AI 工具遵循项目规范, 显著提高开发效率和代码质量。
441 lines
10 KiB
Markdown
441 lines
10 KiB
Markdown
# AI 辅助开发规范指南
|
||
|
||
## 📋 文档概述
|
||
|
||
本指南教你如何使用 AI 助手(如 Claude、ChatGPT、Kiro 等)来帮助遵循项目的开发规范,提高代码质量和开发效率。
|
||
|
||
**⚠️ 重要提醒:所有开发者在开始编码前必须阅读本指南!**
|
||
|
||
---
|
||
|
||
## 🎯 为什么需要 AI 辅助?
|
||
|
||
### 传统开发痛点
|
||
- ❌ 记不住复杂的规范要求
|
||
- ❌ 注释写得不够详细或格式不对
|
||
- ❌ Git 提交信息不规范
|
||
- ❌ 代码审查时发现大量规范问题
|
||
- ❌ 新手学习成本高,容易出错
|
||
|
||
### AI 辅助的优势
|
||
- ✅ 实时检查和建议
|
||
- ✅ 自动生成规范的注释和文档
|
||
- ✅ 智能提示最佳实践
|
||
- ✅ 减少人工审查工作量
|
||
- ✅ 快速学习和应用规范
|
||
|
||
---
|
||
|
||
## 📚 项目规范文档体系
|
||
|
||
我们的项目有以下四个核心规范文档:
|
||
|
||
| 文档 | 用途 | AI 检查重点 |
|
||
|------|------|------------|
|
||
| [命名规范](./naming_convention.md) | 文件、变量、函数命名 | 命名格式、一致性检查 |
|
||
| [Git 提交规范](./git_commit_guide.md) | 提交信息格式 | 提交类型、描述格式 |
|
||
| [后端开发规范](./backend_development_guide.md) | 注释、日志、业务逻辑 | 注释完整性、日志规范 |
|
||
| [NestJS 使用指南](./nestjs_guide.md) | 框架最佳实践 | 架构设计、代码组织 |
|
||
|
||
---
|
||
|
||
## 🤖 AI 辅助开发工作流程
|
||
|
||
### 阶段一:开发前准备
|
||
|
||
#### 1.1 向 AI 提供项目上下文
|
||
|
||
**推荐提示词模板:**
|
||
|
||
```
|
||
我正在开发一个基于 NestJS 的像素游戏后端项目。
|
||
|
||
项目有以下规范要求:
|
||
1. 命名规范:[粘贴 naming_convention.md 的关键内容]
|
||
2. Git 提交规范:[粘贴 git_commit_guide.md 的关键内容]
|
||
3. 后端开发规范:[粘贴 backend_development_guide.md 的关键内容]
|
||
4. NestJS 使用指南:[粘贴 nestjs_guide.md 的关键内容]
|
||
|
||
请帮我在开发过程中严格遵循这些规范。
|
||
```
|
||
|
||
#### 1.2 功能开发规划
|
||
|
||
**提示词示例:**
|
||
|
||
```
|
||
我要开发一个用户管理功能,包括:
|
||
- 用户注册
|
||
- 用户登录
|
||
- 用户信息查询
|
||
- 用户信息更新
|
||
|
||
请帮我:
|
||
1. 按照命名规范设计文件和类名
|
||
2. 按照 NestJS 指南规划代码结构
|
||
3. 按照后端开发规范设计注释模板
|
||
```
|
||
|
||
### 阶段二:编码过程中
|
||
|
||
#### 2.1 代码生成和检查
|
||
|
||
**提示词模板:**
|
||
|
||
```
|
||
请帮我生成一个用户服务类,要求:
|
||
|
||
1. 严格按照后端开发规范添加完整注释:
|
||
- 模块级注释(功能描述、依赖模块、作者、版本)
|
||
- 类级注释(职责、主要方法、使用场景)
|
||
- 方法级注释(功能描述、业务逻辑、参数、返回值、异常、示例)
|
||
|
||
2. 按照命名规范:
|
||
- 类名使用大驼峰
|
||
- 方法名使用小驼峰
|
||
- 文件名使用下划线分隔
|
||
|
||
3. 包含以下方法:
|
||
- createUser() - 创建用户
|
||
- getUserById() - 根据ID获取用户
|
||
- updateUser() - 更新用户信息
|
||
|
||
4. 每个方法都要考虑:
|
||
- 参数验证
|
||
- 异常处理
|
||
- 日志记录
|
||
- 业务逻辑完整性
|
||
```
|
||
|
||
#### 2.2 代码审查和优化
|
||
|
||
**提示词示例:**
|
||
|
||
```
|
||
请帮我检查以下代码是否符合项目规范:
|
||
|
||
[粘贴你的代码]
|
||
|
||
请检查:
|
||
1. 注释是否完整和规范
|
||
2. 命名是否符合规范
|
||
3. 业务逻辑是否考虑了所有情况
|
||
4. 异常处理是否完善
|
||
5. 日志记录是否合适
|
||
6. 是否遵循了 NestJS 最佳实践
|
||
|
||
如有问题,请提供具体的修改建议。
|
||
```
|
||
|
||
### 阶段三:提交前检查
|
||
|
||
#### 3.1 Git 提交信息生成
|
||
|
||
**提示词模板:**
|
||
|
||
```
|
||
我完成了以下开发工作:
|
||
[描述你的具体改动]
|
||
|
||
请按照 Git 提交规范帮我生成合适的提交信息:
|
||
1. 选择正确的提交类型(feat/fix/docs/refactor等)
|
||
2. 写出简短明确的描述(不超过50字符)
|
||
3. 如果改动复杂,提供详细描述
|
||
4. 考虑是否需要拆分成多个提交
|
||
|
||
提交规范要求:
|
||
- 使用中文冒号
|
||
- 一次提交只做一件事
|
||
- 描述要清晰明确
|
||
```
|
||
|
||
#### 3.2 最终代码检查
|
||
|
||
**提示词示例:**
|
||
|
||
```
|
||
这是我准备提交的完整代码,请做最后的规范检查:
|
||
|
||
[粘贴完整代码]
|
||
|
||
请确认:
|
||
1. 所有注释都符合后端开发规范
|
||
2. 命名都符合命名规范
|
||
3. 代码结构符合 NestJS 指南
|
||
4. 没有遗漏的异常处理
|
||
5. 日志记录完整合适
|
||
6. 代码可以直接运行
|
||
|
||
如有任何问题,请指出并提供修改建议。
|
||
```
|
||
|
||
---
|
||
|
||
## 💡 AI 提示词最佳实践
|
||
|
||
### 1. 上下文提供技巧
|
||
|
||
**✅ 好的做法:**
|
||
```
|
||
我在开发 NestJS 项目的用户模块,项目要求:
|
||
- 每个方法必须有完整注释
|
||
- 使用 AppLoggerService 记录日志
|
||
- 异常要抛出合适的 HTTP 状态码
|
||
- 文件名使用下划线命名
|
||
|
||
请帮我生成 UserController...
|
||
```
|
||
|
||
**❌ 不好的做法:**
|
||
```
|
||
帮我写个用户控制器
|
||
```
|
||
|
||
### 2. 具体化需求
|
||
|
||
**✅ 好的做法:**
|
||
```
|
||
请检查这个方法是否符合规范:
|
||
1. 注释是否包含功能描述、业务逻辑、参数说明?
|
||
2. 是否考虑了参数验证?
|
||
3. 是否有适当的异常处理?
|
||
4. 是否记录了关键操作日志?
|
||
```
|
||
|
||
**❌ 不好的做法:**
|
||
```
|
||
这个代码有问题吗?
|
||
```
|
||
|
||
### 3. 迭代优化
|
||
|
||
**建议流程:**
|
||
1. 先让 AI 生成基础代码
|
||
2. 要求 AI 检查规范符合性
|
||
3. 根据建议进行修改
|
||
4. 再次检查直到完全符合规范
|
||
|
||
---
|
||
|
||
## 🔧 常用 AI 检查清单
|
||
|
||
### 代码质量检查
|
||
|
||
复制以下清单,让 AI 帮你逐项检查:
|
||
|
||
```
|
||
请帮我检查代码是否符合以下规范:
|
||
|
||
□ 模块级注释(功能描述、依赖模块、作者、版本)
|
||
□ 类级注释(职责、主要方法、使用场景)
|
||
□ 方法级注释(功能描述、业务逻辑、参数、返回值、异常、示例)
|
||
□ 文件命名使用下划线分隔
|
||
□ 类名使用大驼峰命名
|
||
□ 方法名使用小驼峰命名
|
||
□ 变量名使用小驼峰命名
|
||
□ 常量使用全大写+下划线
|
||
□ 参数验证完整
|
||
□ 异常处理合适
|
||
□ 日志记录规范
|
||
□ 业务逻辑考虑全面
|
||
□ 符合 NestJS 最佳实践
|
||
```
|
||
|
||
### Git 提交检查
|
||
|
||
```
|
||
请帮我检查提交信息是否符合规范:
|
||
|
||
□ 使用了正确的提交类型
|
||
□ 使用中文冒号
|
||
□ 描述简短明确(不超过50字符)
|
||
□ 一次提交只做一件事
|
||
□ 如有必要,包含详细描述
|
||
□ 考虑了是否需要拆分提交
|
||
```
|
||
|
||
---
|
||
|
||
## 📖 实战案例演示
|
||
|
||
### 案例1:开发用户注册功能
|
||
|
||
#### 第1步:向 AI 提供上下文
|
||
|
||
```
|
||
我要开发用户注册功能,项目规范要求:
|
||
|
||
1. 后端开发规范:
|
||
- 每个方法必须有完整的三级注释
|
||
- 必须考虑所有异常情况
|
||
- 关键操作必须记录日志
|
||
- 使用防御性编程
|
||
|
||
2. 命名规范:
|
||
- 文件名:user_service.ts
|
||
- 类名:UserService
|
||
- 方法名:registerUser
|
||
|
||
3. 需要实现的业务逻辑:
|
||
- 邮箱格式验证
|
||
- 邮箱唯一性检查
|
||
- 密码强度验证
|
||
- 创建用户记录
|
||
- 返回用户信息(不含密码)
|
||
|
||
请帮我生成符合规范的代码。
|
||
```
|
||
|
||
#### 第2步:AI 生成代码
|
||
|
||
AI 会生成包含完整注释和异常处理的代码。
|
||
|
||
#### 第3步:代码检查
|
||
|
||
```
|
||
请检查上面生成的代码是否完全符合项目规范:
|
||
1. 注释是否完整?
|
||
2. 异常处理是否全面?
|
||
3. 日志记录是否合适?
|
||
4. 业务逻辑是否考虑了所有情况?
|
||
```
|
||
|
||
#### 第4步:提交信息生成
|
||
|
||
```
|
||
我完成了用户注册功能的开发,包括:
|
||
- 创建 UserService 类
|
||
- 实现 registerUser 方法
|
||
- 添加完整的参数验证和异常处理
|
||
- 记录关键操作日志
|
||
|
||
请按照 Git 提交规范生成提交信息。
|
||
```
|
||
|
||
### 案例2:代码审查场景
|
||
|
||
#### 现有代码检查
|
||
|
||
```
|
||
这是我写的代码,请帮我检查是否符合项目规范:
|
||
|
||
[粘贴代码]
|
||
|
||
项目规范要求:
|
||
- 完整的三级注释
|
||
- 防御性编程
|
||
- 合适的异常处理
|
||
- 规范的命名
|
||
- 关键操作日志记录
|
||
|
||
请指出所有不符合规范的地方,并提供修改建议。
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ 注意事项和限制
|
||
|
||
### AI 的局限性
|
||
|
||
1. **不能替代人工判断**
|
||
- AI 可能不理解特定的业务逻辑
|
||
- 复杂的架构决策仍需人工判断
|
||
|
||
2. **需要明确的指导**
|
||
- 必须提供详细的规范要求
|
||
- 模糊的需求会得到模糊的结果
|
||
|
||
3. **需要验证和测试**
|
||
- AI 生成的代码必须经过测试
|
||
- 不要盲目信任 AI 的输出
|
||
|
||
### 最佳实践建议
|
||
|
||
1. **始终提供项目上下文**
|
||
2. **使用具体的检查清单**
|
||
3. **迭代优化,不要一次性完成**
|
||
4. **结合人工审查**
|
||
5. **保持学习,理解规范背后的原理**
|
||
|
||
---
|
||
|
||
## 🚀 进阶技巧
|
||
|
||
### 1. 创建个人 AI 助手模板
|
||
|
||
将常用的提示词保存为模板,提高效率:
|
||
|
||
```
|
||
# 我的开发助手模板
|
||
|
||
## 项目上下文
|
||
我在开发 NestJS 像素游戏后端项目,规范要求:
|
||
[保存项目规范要点]
|
||
|
||
## 代码生成模板
|
||
请生成符合规范的代码,包括:
|
||
- 完整的三级注释
|
||
- 防御性编程
|
||
- 异常处理
|
||
- 日志记录
|
||
- 规范命名
|
||
|
||
## 代码检查模板
|
||
请检查代码规范符合性:
|
||
[保存检查清单]
|
||
```
|
||
|
||
### 2. 建立代码片段库
|
||
|
||
让 AI 帮你生成常用的代码模板:
|
||
|
||
```
|
||
请帮我生成以下代码模板,符合项目规范:
|
||
|
||
1. Controller 类模板
|
||
2. Service 类模板
|
||
3. 异常处理模板
|
||
4. 日志记录模板
|
||
5. 参数验证模板
|
||
|
||
每个模板都要包含完整的注释和最佳实践。
|
||
```
|
||
|
||
### 3. 自动化检查脚本
|
||
|
||
```
|
||
请帮我写一个脚本,自动检查代码是否符合命名规范:
|
||
- 检查文件名是否使用下划线
|
||
- 检查类名是否使用大驼峰
|
||
- 检查方法名是否使用小驼峰
|
||
- 生成检查报告
|
||
```
|
||
|
||
---
|
||
|
||
## 📞 获得帮助
|
||
|
||
如果在使用 AI 辅助开发过程中遇到问题:
|
||
|
||
1. **查看规范文档**:确保理解项目规范要求
|
||
2. **优化提示词**:提供更详细的上下文和需求
|
||
3. **寻求人工帮助**:复杂问题可以咨询有经验的开发者
|
||
4. **持续学习**:理解规范背后的原理,不只是机械执行
|
||
|
||
---
|
||
|
||
## 🎉 总结
|
||
|
||
使用 AI 辅助开发可以显著提高代码质量和开发效率,但关键是:
|
||
|
||
1. **提供清晰的上下文和规范要求**
|
||
2. **使用具体的检查清单**
|
||
3. **迭代优化,持续改进**
|
||
4. **结合人工判断,不盲目依赖**
|
||
5. **理解规范原理,而不只是执行**
|
||
|
||
记住:**AI 是你的助手,不是替代品。好的开发者会善用工具,但始终保持思考和判断能力。**
|
||
|
||
---
|
||
|
||
**🔥 开始使用 AI 辅助开发,让代码质量和效率双提升!** |