Files
TARE-Learn/slidev/pages/day5/m1-project-workshop.md
T
smart 67837df8d0 docs: 更新TRA编程培训课程材料、课件与AI技能交付包
- 新增全套考试卷、评估卷、参考答案与考试培训包模板
- 修正slidev培训课件:调整模块标题、链路图缩放,替换工单示例为通用业务对象
- 修正课堂红线表述为证据红线,将小组作业调整为个人作业要求
- 新增权限、状态流转、审计日志、看板指标四类可复用业务规则块
- 整理AI工程技能交付包,迁移旧资产至客户专属交付包并统一术语
- 新增考试输出模板与TRAE使用记录文档
2026-08-08 11:00:36 +08:00

6.4 KiB

模块 1:案例引子:从状态变更提取资产原料

“取消原因不能为空”看起来只是一个字段校验,实际却处在派车、车辆、司机和行程状态交汇的位置。

这里不讨论如何完成这一项改动,而是用它识别后续可沉淀的约束、提问框架与验证方法。

申请
派车
车辆 / 司机
行程

公务用车模块中的三条状态线

对象 正常演进 取消或完成后的变化
申请 DRAFT -> PROCESSING -> COMPLETED 取消回到 CANCELLED
派车 DISPATCHED -> COMPLETED 取消变为 CANCELLED
车辆 AVAILABLE -> RESERVED -> IN_USE 取消或行程完成后回到 AVAILABLE
司机 AVAILABLE -> ON_TASK 行程完成后回到 AVAILABLE
一个派车动作会改变多个对象;校验位置错了,错误状态就会扩散。

取消派车的真实调用链

取消按钮(仅 DISPATCHED 状态可见)
  -> 取消弹窗(cancelReason 必填)
  -> POST /official/vehicle/dispatch/cancel
  -> Controller(权限 + 审计)
  -> DispatchService.cancel
  -> 派车状态 CANCELLED + 车辆状态 AVAILABLE
前端:减少误操作
权限:限制谁能调用
Service:保护业务状态

把业务语言变成可验证的目标

业务表达 可验证的技术表达
取消必须写原因 cancelReason 不能是 null、空串或全空白
不允许无效取消 在读取派车记录、更新派车和释放车辆之前拒绝请求
不能影响正常取消 非空原因仍沿用原有状态更新与资源释放逻辑
不扩大改动 不改变权限、审计、页面交互、数据库字段或行程协议
目标越可验证,TRAE 越不容易把一个小需求扩写成跨层重构。

从案例中提取资产原料

项目事实
状态、入口、权限、写入顺序和测试结构。
重复判断
哪些结论下次同类任务仍然需要重新做。
可沉淀资产
Rule、Prompt、Skill、检查单和反例各自承接什么。