E2.19.4unnoticed number-unit decoupling设计

数值与单位的耦合错误在提交前难以被用户察觉

别名: 数值单位脱节 · stale unit · 改了单位没改数

概念解释

数字和它的单位是一对。改了其中一侧、另一侧还停在旧状态,人很难在提交前发现:币种从人民币切到美元但 100 还在,长度从厘米切到英寸但 175 还在。数值—单位脱节(unnoticed number-unit decoupling)说的是这对耦合在界面上没有被当成一个对象来维护,错误看起来仍「像一个合法量」。它管的是两侧是否还指同一量,不是第一次该显示哪种货币或哪套尺子,也不是逗号怎么解析。

机制

人把「100 元」编码成一个量,不是两个独立字段。界面却常做成数字框 + 单位下拉。改下拉只改标签,数字没变,新标签配旧数字在局部仍合法——100 美元、175 英寸都是能通过类型检查的值。没有换算、没有「单位已改、请确认数字」的断裂信号,校对通道是静的。自动填充、草稿恢复、来回切换单位时最容易留下这种半新半旧的对。发现通常发生在下游:收款、物流、医疗剂量,代价已经不可逆。

边界

单位只读、用户从未切换时,脱节不会发生。切换时若立刻按规则换算数字,耦合保持,但必须让换算可见,否则人会以为数字被「乱改」。科学计数、百分比与绝对量之间的切换同样是耦合问题。两个独立的量(长和宽)各带单位,改一个不应换算另一个。

怎么落地

  • 把数字与单位当成一次提交的一个量:改单位就换算数字,或清空数字并要求重填,不要静默留旧数。
  • 单位变化后在数字旁给出对照(「已从 175 cm 换为 69 in」),让断裂被看见。
  • 草稿恢复时同时恢复当时的单位,不要用当前默认单位去配旧数字。
  • 验证:填一个量,只改单位不改数,看提交值。数量级若按新单位解释变得荒唐而界面仍开着绿灯,脱节就还没被抓住。再恢复一份旧草稿,看单位是否还是当年那一个。

延伸

  • 同组E2.19.1 货币输入需明确币种,不能让用户默认假设当前货币 · E2.19.2 单位输入需支持用户熟悉的计量制式并可换算 · E2.19.3 千分位与小数点符号因地区而异,格式需自适应
  • 相邻E2.11 数字输入与步进器 · E6.03 内联校验提示
  • 站内检索number-unit decoupling · stale unit · measure integrity

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E2.19.4