Files
diary-system/DEV_GUIDE.md

113 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 日记系统 - 开发规范
## ⚠️ 血泪教训2026-04-15
**问题**:修改前端时丢失了已有的日历功能
**原因**
1. 没有先查看现有代码
2. 没有功能清单对照
3. 直接在 main 分支修改
4. 修改后没有验证所有功能
---
## 📋 修改代码前的必须步骤
### 1. 查看当前功能清单
```bash
# 查看 git 历史了解功能演进
git log --oneline -20
# 查看当前有哪些文件
git ls-files
# 查看最近的改动
git diff HEAD~5
```
### 2. 备份当前版本
```bash
# 创建备份分支
git branch backup-$(date +%Y%m%d-%H%M)
# 或者至少复制关键文件
cp frontend/index.html frontend/index.html.bak
```
### 3. 使用分支开发
```bash
# 创建功能分支
git checkout -b feature/xxx
# 开发完成后合并
git checkout main
git merge feature/xxx
```
### 4. 修改后验证清单
- [ ] 日历组件是否正常
- [ ] 统计面板数据是否正确
- [ ] Tab 切换是否正常
- [ ] API 接口是否可用
- [ ] 云服务器是否同步
---
## 📁 必须维护的文档
### 1. FEATURES.md - 功能清单
记录所有已实现的功能,每次修改前对照检查。
### 2. CHANGELOG.md - 变更日志
记录每次修改的内容,便于回滚。
### 3. API.md - 接口文档
记录所有 API 接口,避免删除后端接口。
---
## 🔄 标准开发流程
```
1. 查看功能清单 (FEATURES.md)
2. 创建备份分支
3. 创建功能分支开发
4. 本地测试所有功能
5. 同步到测试环境验证
6. 合并到 main
7. 部署到生产环境
8. 更新功能清单
```
---
## 🛑 禁止操作
- ❌ 直接覆盖 `index.html` 而不查看原有内容
- ❌ 在 main 分支直接开发新功能
- ❌ 修改后不验证就部署
- ❌ 删除文件前不确认是否还在使用
---
## ✅ 推荐操作
- ✅ 小步迭代,每次只改一个功能
- ✅ 使用 `git diff` 查看改动
- ✅ 修改前后截图对比
- ✅ 保持向后兼容
- ✅ 不确定时先问用户
---
_最后更新2026-04-15_
_创建原因:防止再次丢失已有功能_