Update from Sync Service

This commit is contained in:
FNS Service
2026-06-22 11:30:51 +08:00
parent eb80b7a8c1
commit 682e3e52df
52 changed files with 10099 additions and 191 deletions

View File

@@ -0,0 +1,170 @@
# 过程方案vs事实方案
> 相关:[[规格驱动开发]]、[[上下文体系]]、[[Harness工程]]
## 定义
**过程方案**和**事实方案**是[[规格驱动开发]]中两种不同的规格管理方式。
- **过程方案Plans**:记录实现过程,每次新建文件,用完即弃
- **事实方案Designs**:记录系统真相,覆盖更新,长期维护
## 核心区别
| 维度 | 过程方案Plans | 事实方案Designs |
|------|------------------|-------------------|
| 目的 | 记录实现过程 | 记录当前状态 |
| 更新方式 | 追加新文件 | 覆盖更新 |
| 生命周期 | 短期(任务完成后归档) | 长期(持续维护) |
| 维护成本 | 低(不修改旧文件) | 高(必须保持最新) |
| 使用场景 | 任务执行、问题排查 | 新功能开发、架构决策 |
| 示例 | plan-2026-06-20-feature-x.md | database-schema.md |
## 过程方案Plans
### 特征
- 每次任务创建新文件
- 文件命名包含日期:`plan-YYYY-MM-DD-feature-name.md`
- 任务完成后移动到`archive/`目录
- 不修改旧文件,保留决策轨迹
### 内容结构
```markdown
# Plan: 实现用户注册功能
## 目标
实现用户注册API支持邮箱验证
## 任务列表
- [ ] 1. 创建数据库表users
- [ ] 2. 实现POST /api/v1/users API
- [ ] 3. 实现邮箱验证逻辑
## 实现方案
1. 使用Flyway创建users表
2. Controller接收CreateUserCommand
3. AppService调用UserRepository保存
## 状态
- 开始时间2026-06-20 10:00
- 预计完成2026-06-20 12:00
- 实际完成2026-06-20 11:30
## 问题记录
- 10:30 发现数据库连接池配置问题
- 11:00 邮箱服务超时,增加重试机制
```
### 最佳实践
- **命名规范**`plan-YYYY-MM-DD-feature-name.md`
- **内容结构**:目标、方案、任务列表、状态、问题记录
- **归档策略**:任务完成后移动到`archive/`目录
## 事实方案Designs
### 特征
- 每次覆盖更新
- 文件命名使用功能名称:`database-schema.md`
- 必须保持最新状态
- 作为下次Plan的事实依据
### 内容结构
```markdown
# 数据库设计
## 概述
系统数据库设计,包含用户、角色、权限等表。
## users表
| 字段 | 类型 | 说明 |
|------|------|------|
| id | bigint | 主键 |
| username | varchar(50) | 用户名,唯一 |
| email | varchar(100) | 邮箱,唯一 |
| password | varchar(255) | 密码,加密存储 |
| status | tinyint(1) | 状态0-禁用1-启用 |
| created_at | timestamp | 创建时间 |
| updated_at | timestamp | 更新时间 |
## roles表
| 字段 | 类型 | 说明 |
|------|------|------|
| id | bigint | 主键 |
| name | varchar(20) | 角色名称 |
## 变更历史
- 2026-06-20添加users表
- 2026-06-21添加roles表
- 2026-06-22添加user_roles关联表
```
### 最佳实践
- **命名规范**:使用功能名称,如`database-schema.md`
- **内容结构**:概述、详细设计、变更历史
- **更新策略**:每次变更必须更新文档,保持最新
## 目录结构
```
docs/
├── standards/ # 标准规格(事实方案)
├── features/ # 需求规格(事实方案)
├── designs/ # 设计规格(事实方案)
├── plans/ # 计划规格(过程方案)
│ ├── archive/ # 归档的计划
│ └── plan-2026-06-20-feature-x.md
└── others/ # 架构决策、Release、测试用例等
```
## 使用策略
### 何时使用过程方案
- 任务执行过程记录
- 问题排查记录
- 决策轨迹记录
- 临时方案记录
### 何时使用事实方案
- 数据库设计
- API设计
- 架构设计
- 标准规范
- 需求规格
## 优势与局限
### 过程方案
**优势**
- 维护成本低
- 保留决策轨迹
- 易于追溯历史
**局限**
- 文件数量多
- 需要定期归档
- 不反映当前状态
### 事实方案
**优势**
- 反映当前状态
- 单一真相来源
- 易于理解
**局限**
- 维护成本高
- 需要持续更新
- 丢失历史信息
## 最佳实践
1. **明确区分**:清楚区分哪些是过程方案,哪些是事实方案
2. **定期归档**:过程方案定期归档到`archive/`目录
3. **保持最新**:事实方案必须保持最新状态
4. **变更历史**:事实方案记录变更历史
5. **关联引用**Plans引用Designs确保一致性
## 相关概念
- [[规格驱动开发]]过程方案和事实方案是SDD的规格管理方式
- [[上下文体系]]:过程方案和事实方案是上下文体系的组成部分
- [[Harness工程]]过程方案和事实方案是Harness的文档管理方式