|
|
|
|
@ -40,6 +40,79 @@
|
|
|
|
|
预估步骤:[1-N步]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 第四步:执行中验证(边改边验)
|
|
|
|
|
|
|
|
|
|
每完成一个文件的修改,立即执行对应的自检动作,不等全部改完再回头检查。
|
|
|
|
|
|
|
|
|
|
### 自检规则
|
|
|
|
|
|
|
|
|
|
| 时机 | 验证动作 | 适用范围 |
|
|
|
|
|
|------|---------|---------|
|
|
|
|
|
| 改完设计文档后 | 读关联文档,检查联动字段是否同步(如页面§9数据结构↔API端点↔Mock) | F/A/D类修改 |
|
|
|
|
|
| 改完代码文件后 | `lsp_diagnostics` 检查该文件,确认无error | 所有代码修改 |
|
|
|
|
|
| 改完Vue组件后 | 对照对应页面设计文档的字段表逐列核对 | F类修改 |
|
|
|
|
|
| 改完C#代码后 | 对照对应后端规范的命名/分层/测试要求 | B类修改 |
|
|
|
|
|
| 所有文件改完后 | `npm run build`(前端)或 `dotnet build`(后端)确认编译通过 | 代码修改 |
|
|
|
|
|
|
|
|
|
|
### 禁止行为
|
|
|
|
|
|
|
|
|
|
- 禁止跳过自检直接标记任务完成
|
|
|
|
|
- 禁止一次性改完全部文件后再统一验证(错误会累积)
|
|
|
|
|
- 禁止用 `as any`、`@ts-ignore` 压制诊断错误来通过验证
|
|
|
|
|
|
|
|
|
|
## 第五步:完成验收(改完后总验)
|
|
|
|
|
|
|
|
|
|
所有文件修改完成且执行中验证通过后,执行总验收。
|
|
|
|
|
|
|
|
|
|
### 验收清单
|
|
|
|
|
|
|
|
|
|
**第1项:变更清单核对**
|
|
|
|
|
|
|
|
|
|
列出所有已修改的文件,逐文件确认:
|
|
|
|
|
- 改动内容与第三步的修改计划摘要一致
|
|
|
|
|
- 无遗漏文件(对照计划中的涉及文件清单逐个勾选)
|
|
|
|
|
- 无多余改动(未在计划中的文件未被修改)
|
|
|
|
|
|
|
|
|
|
**第2项:定向验证(按影响面类型)**
|
|
|
|
|
|
|
|
|
|
| 影响面 | 验证动作 |
|
|
|
|
|
|--------|---------|
|
|
|
|
|
| F 前端UI | `npm run dev` 启动开发服务器,逐页面检查视觉效果 |
|
|
|
|
|
| F 前端逻辑 | grep搜索残留旧代码(旧URL、旧字段名、已删除的组件引用) |
|
|
|
|
|
| F Mock数据 | 检查Mock文件与页面§9数据结构一致 |
|
|
|
|
|
| B 后端 | `dotnet build` 编译通过 + 测试运行通过 |
|
|
|
|
|
| B 后端测试 | 对照 `04-后端开发规范.md` §6 必测7大类场景,确认覆盖 |
|
|
|
|
|
| D 数据库 | 迁移脚本幂等性验证(重复执行不报错不丢数据) |
|
|
|
|
|
| A API接口 | 双列URL同步检查(Mock列↔正式列同时更新) |
|
|
|
|
|
| R 需求文档 | 检查与 `00-需求与设计文档.md` 已确认决策无冲突 |
|
|
|
|
|
|
|
|
|
|
**第3项:跨文档一致性抽查**
|
|
|
|
|
|
|
|
|
|
根据修改类型,抽查以下关联一致性:
|
|
|
|
|
|
|
|
|
|
| 修改类型 | 抽查项 |
|
|
|
|
|
|---------|--------|
|
|
|
|
|
| 新增/删除字段 | 页面§4列表字段 ↔ API响应JSON ↔ Mock数据 ↔ Entity/DTO |
|
|
|
|
|
| 新增/删除接口 | 端点清单(Mock列+正式列) ↔ 页面§10接口引用 ↔ Mock文件 |
|
|
|
|
|
| 新增/删除页面 | 路由总表 ↔ 模块进度表 ↔ 菜单映射 |
|
|
|
|
|
| 状态变更 | 页面§7状态机 ↔ 组件代码中的状态判断逻辑 |
|
|
|
|
|
| 按钮变更 | 页面§5操作按钮 ↔ 组件template中的按钮元素 |
|
|
|
|
|
|
|
|
|
|
**第4项:Git提交**
|
|
|
|
|
|
|
|
|
|
- commit message 对应修改计划摘要
|
|
|
|
|
- push到远程仓库
|
|
|
|
|
|
|
|
|
|
### 验收通过标准
|
|
|
|
|
|
|
|
|
|
以下全部满足方可声明任务完成:
|
|
|
|
|
|
|
|
|
|
1. ✅ 变更清单核对:计划中的所有文件均已修改,无遗漏无多余
|
|
|
|
|
2. ✅ 编译/构建通过(如有代码修改)
|
|
|
|
|
3. ✅ 定向验证通过(按影响面类型逐项执行)
|
|
|
|
|
4. ✅ 跨文档一致性抽查通过
|
|
|
|
|
5. ✅ Git commit + push 完成
|
|
|
|
|
|
|
|
|
|
## 豁免条件
|
|
|
|
|
|
|
|
|
|
以下情况可跳过预处理直接执行:
|
|
|
|
|
@ -222,3 +295,102 @@ AI回复:
|
|
|
|
|
> 用户:"设备列表的分页 pageSize 上限从100改成200,直接执行"
|
|
|
|
|
|
|
|
|
|
AI跳过预处理,直接开始修改。
|
|
|
|
|
|
|
|
|
|
### 示例6:前端全局规范修改(含完整执行中验证+完成验收)
|
|
|
|
|
|
|
|
|
|
> 用户:"所有列表页的列宽改为均分,批量操作按钮统一放到上方"
|
|
|
|
|
|
|
|
|
|
**第一步~第三步**(略,按正常流程输出修改计划摘要)
|
|
|
|
|
|
|
|
|
|
**第四步:执行中验证**
|
|
|
|
|
|
|
|
|
|
每改完一个文件后的自检记录:
|
|
|
|
|
|
|
|
|
|
> 改完 `02-前端全局规范.md`:
|
|
|
|
|
> - ✅ 新增"el-table列宽均分规则"和"操作按钮统一布局规则"两个章节
|
|
|
|
|
> - ✅ 规则内容与用户需求一致(禁止固定width、操作列例外、批量按钮改页头)
|
|
|
|
|
>
|
|
|
|
|
> 改完 `03-01-设备列表页面.md`:
|
|
|
|
|
> - ✅ §4列表字段:选择框50,数据列全部改"-",操作列180
|
|
|
|
|
> - ✅ §5操作按钮:批量停用/启用从"底部栏"改为"页头"
|
|
|
|
|
> - ✅ §2布局图:移除底部批量操作栏,操作栏增加批量按钮
|
|
|
|
|
> - ✅ 联动检查:页面文档的列宽值与全局规范新规则一致
|
|
|
|
|
>
|
|
|
|
|
> 改完 `MachineListPage.vue`:
|
|
|
|
|
> - ✅ lsp_diagnostics 无error
|
|
|
|
|
> - ✅ 逐列核对:template中的el-table-column属性与页面§4字段表一致
|
|
|
|
|
> - ✅ grep搜索 `width=` 无残留(仅操作列和选择框列有width)
|
|
|
|
|
> - ✅ grep搜索 `sticky` 或 `底部栏` 无残留
|
|
|
|
|
>
|
|
|
|
|
> (其余页面同理,每改完一个文件立即自检)
|
|
|
|
|
|
|
|
|
|
**第五步:完成验收**
|
|
|
|
|
|
|
|
|
|
> **第1项 变更清单核对:**
|
|
|
|
|
>
|
|
|
|
|
> | 计划文件 | 状态 | 说明 |
|
|
|
|
|
> |---------|------|------|
|
|
|
|
|
> | `02-前端全局规范.md` | ✅ | 新增两条规则 |
|
|
|
|
|
> | `03-01-设备列表页面.md` | ✅ | 列宽+按钮位置 |
|
|
|
|
|
> | `04-01-品牌列表页面.md` | ✅ | 列宽 |
|
|
|
|
|
> | `05-01-采集地址页面.md` | ✅ | 列宽 |
|
|
|
|
|
> | `06-01-员工管理页面.md` | ✅ | 列宽+按钮位置 |
|
|
|
|
|
> | `07-01-产量报表页面.md` | ✅ | 列宽 |
|
|
|
|
|
> | `08-01-告警中心页面.md` | ✅ | 列宽 |
|
|
|
|
|
> | `11-01-操作日志页面.md` | ✅ | 列宽 |
|
|
|
|
|
> | `09-01-系统设置页面.md` | ✅ | 列宽 |
|
|
|
|
|
> | `MachineListPage.vue` | ✅ | 列宽+按钮位置 |
|
|
|
|
|
> | `WorkerListPage.vue` | ✅ | 列宽+按钮位置 |
|
|
|
|
|
> | 其余5个Vue组件 | ✅ | 列宽 |
|
|
|
|
|
>
|
|
|
|
|
> **第2项 定向验证:**
|
|
|
|
|
> - F 前端逻辑:grep搜索 `width=` 在Vue组件中仅命中选择框列和操作列 → ✅
|
|
|
|
|
> - F 前端逻辑:grep搜索 `底部栏`/`sticky` 在Vue组件中零命中 → ✅
|
|
|
|
|
> - F 前端UI:`npm run dev` 启动,逐页面查看列宽均分效果 → ⏳ 需用户浏览器确认
|
|
|
|
|
>
|
|
|
|
|
> **第3项 跨文档一致性抽查:**
|
|
|
|
|
> - 抽查"设备列表":页面§4列宽值 ↔ Vue组件el-table-column的width属性 → ✅ 一致
|
|
|
|
|
> - 抽查"员工列表":页面§5批量按钮位置 ↔ Vue组件中批量按钮DOM位置 → ✅ 一致
|
|
|
|
|
>
|
|
|
|
|
> **第4项 Git提交:**
|
|
|
|
|
> - commit: "全局列宽均分+批量按钮统一到上方(8个页面文档+8个Vue组件)"
|
|
|
|
|
> - push → ✅ 完成
|
|
|
|
|
|
|
|
|
|
### 示例7:后端Bug修复(含完整执行中验证+完成验收)
|
|
|
|
|
|
|
|
|
|
> 用户:"MachineService.GetList 分页 page=0 时报错"
|
|
|
|
|
|
|
|
|
|
**第三步输出计划:**
|
|
|
|
|
> 涉及文件:
|
|
|
|
|
> - `src/CncService/Impl/MachineService.cs` → GetList 增加 page 修正
|
|
|
|
|
> - `tests/CncService.Tests/MachineServiceTests.cs` → 新增边界测试
|
|
|
|
|
|
|
|
|
|
**第四步:执行中验证**
|
|
|
|
|
|
|
|
|
|
> 改完 `MachineService.cs`:
|
|
|
|
|
> - ✅ lsp_diagnostics 无error
|
|
|
|
|
> - ✅ 逻辑:page < 1 时自动修正为 1,无其他改动
|
|
|
|
|
>
|
|
|
|
|
> 改完 `MachineServiceTests.cs`:
|
|
|
|
|
> - ✅ lsp_diagnostics 无error
|
|
|
|
|
> - ✅ 新增测试覆盖:page=0、page=-1 两个场景
|
|
|
|
|
> - ✅ 测试命名遵循 `MethodName_Scenario_Expected` 模式
|
|
|
|
|
|
|
|
|
|
**第五步:完成验收**
|
|
|
|
|
|
|
|
|
|
> **第1项 变更清单核对:**
|
|
|
|
|
> - `MachineService.cs` ✅ 仅改分页修正逻辑
|
|
|
|
|
> - `MachineServiceTests.cs` ✅ 新增2个测试用例
|
|
|
|
|
> - 无多余改动 ✅
|
|
|
|
|
>
|
|
|
|
|
> **第2项 定向验证:**
|
|
|
|
|
> - `dotnet build` → 编译通过 ✅
|
|
|
|
|
> - `dotnet test` → 全部测试通过(含新增2个) ✅
|
|
|
|
|
> - 对照§6必测场景:§G分页参数场景已覆盖 ✅
|
|
|
|
|
>
|
|
|
|
|
> **第3项 跨文档一致性抽查:**
|
|
|
|
|
> - 本次为纯Bugfix,不涉及文档变更,无跨文档一致性风险 ✅
|
|
|
|
|
>
|
|
|
|
|
> **第4项 Git提交:**
|
|
|
|
|
> - commit: "修复GetList分页page=0报错,增加边界测试"
|
|
|
|
|
> - push → ✅ 完成
|
|
|
|
|
|