2.6 KiB
2.6 KiB
name, description
| name | description |
|---|---|
| task-difficulty-verification | 按需求难度分配验证成本——简单改动只做最省的确认、不跑测试;复杂改动必须做回归测试,避免改完反复返工。在本项目(Unity Vision)里做代码、场景或资源改动时适用。 |
按难度分配验证成本
目标:简单任务不要为了「保险」浪费 token 去测试;复杂任务必须验证,避免改错没发现、来回返工。
先判定难度,并用一句话说明
动手前判定,并用一句话告诉用户这次算简单还是复杂(例如「这算简单任务,改完直接给你」)。判错了用户能当场纠正。
简单任务(符合任一):
- 单文件小改、文案 / 命名 / 日志 / 注释
- 只读查询、看状态、回答问题
- 加一个对象、调一个参数、改个颜色或层级
- 删除无用代码,且无人引用
- 影响面单一,且用户已明确说明期望结果
复杂任务(符合任一):
- 跨文件 / 跨模块,或改动落在公共 API、被多处调用的代码上
- 核心逻辑、算法、状态机、存档或数据格式、构建配置、包依赖、渲染管线、材质 / Shader
- 改动会引入其他代码要使用的新类型、新接口、新字段
- 改错了不容易被发现,或者可能破坏原本能跑的东西
- 用户明确要求验证或回归
拿不准时按复杂处理。
简单任务:不做测试
- 直接改完交付,最多做一次最便宜的确认:读一次返回值、看一眼 transform、curl 一次接口。
- 不跑测试套件,不做回归,不为了确认把整个项目重读一遍。
- 不要用「更保险」当理由补验证步骤。
复杂任务:必须回归
按下面顺序做,够用即停:
- 先让编译错误清零:读
mcpforunity://editor/state等到compilation.is_compiling == false,再read_console(types=["error"], count="10")。 - 跑覆盖本次改动的测试(
run_tests,EditMode / PlayMode 按改动性质选),只跑相关范围,不重跑全量。 - 回头验证本次改动会碰到、但原本正常的行为:调用方、相邻功能点、序列化数据、场景里已存在的对象。
- 结果讲清楚:跑了什么、过没过、哪部分没测以及原因。
避免重复修改
- 验证通过就停手,不要顺手再改别的地方。
- 验证不过:定位根因改一次,重跑同一条验证;不要一边猜一边连续打补丁。
- 同一处连续两次修不好,停下来把现象和判断交给用户决定。
用户明确要求跑测试、或明确说不用测时,以用户的要求为准。