{"id":"q2","next":{"no":"q3","yes":"q5"}}
// 用题目 id 而不是数组下标
第 2 题选否应该直接到第 3 题,实际跳到了第 4 题,第 3 题被跳过,最后统计里这道题缺了 43 份。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:跳转配置写的是 next: 2,代码按数组下标加一算。题目顺序调整过一次之后下标全错位,规则没有跟题目 ID 绑定。
「问卷跳题逻辑」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
处理上按这个顺序:跳转条件改成按题目 ID 指向,不用数组下标;题序调整后跑一次规则校验,检查每个分支的落点;用三条不同分支各填一份,看最终题号序列。
确认没问题再收工,选否落到 q3,选是落到 q5,两条路径的题号序列和设计一致。
