113 lines
2.1 KiB
Markdown
113 lines
2.1 KiB
Markdown
# 日记系统 - 开发规范
|
||
|
||
## ⚠️ 血泪教训(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_
|
||
_创建原因:防止再次丢失已有功能_
|