U6.11.1The analysis process must be undoable and replayable设计

分析过程需可撤销与重放

别名: 撤销重做 · 分析历史

概念解释

探索是一条操作链:筛选、钻取、排序、切换视图,每一步都改变画面。这条链必须支持两类回退:撤销(退到前一步)与重放(按顺序重新执行整条链)。没有撤销,错误的筛选让用户被迫刷新重来;没有重放,"我怎么走到这个结论的"永远说不清。

机制

撤销在分析场景里的意义比在编辑场景更重,因为分析操作的破坏性是隐性的:一次误筛选不报错、不丢数据,只是让画面悄悄变成另一个口径——用户可能已经基于它说了三句话。撤销链提供的是即时的自我纠错,把"发现错误、定位错误操作、手动重做全部"压缩成"退一步"。重放则服务于三个更深的职能:审计(结论的证据链可逐步检验)、教学(他人可跟着路径走一遍)、自我恢复(换机器、换会话后重建状态)。工程基础是操作历史的数据结构——每一步记录为可逆的状态迁移,而非只存最终状态;快照式历史(只存关键帧)是性能妥协,粒度越细重放越忠实。

边界

撤销语义在分析里有两个易错点:其一,撤销的对象是"操作"而非"数据"——撤销筛选不清空数据,只移除筛选步骤;其二,撤销与上卷(层级回退)是两个原语(钻取组的结论),混用会让用户失去对"我退掉的是什么"的判断。历史长度有实用上限——无限历史占资源也难导航,常见做法是保留完整会话历史、提供可视化时间线供跳转。协作场景的撤销语义复杂(撤销别人的操作吗),多数产品选择"仅撤销自己的操作"并显式标注。

怎么落地

  • 分析视图全操作入历史:筛选、钻取、排序、视图切换均可撤销,快捷键可用。
  • 提供会话历史时间线,支持跳转到任意一步与整链重放。
  • 验证:让用户执行十步探索后撤销五步再重放,核对每步画面与首次执行一致;任何步丢失即历史记录粒度不足。

延伸

  • 同组U6.11.2 状态需可分享给他人 · U6.11.3 探索路径本身是分析产物
  • 相邻U6.05.2 上卷需要与钻取同样明确的返回路径 · U6.10.1 分析状态需可被编码为可复现的链接或快照
  • 站内检索undo redo analysis · operation history · provenance replay

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/U6.11.1