H3.03.2jargon-free error copy设计研究

不使用技术内部术语

别名: 内部术语 · 异常类名 · stack trace in UI

概念解释

给正在恢复的人看的句子里,不该出现服务名、异常类、堆栈、状态短语和团队黑话。那些词是给已经有码表的人用的。不用内部术语是为了让人用任务词汇选下一步,不是禁止给客服一条可复制的编号。编号是标识;术语是把恢复堵死的语气。

机制

内部词迫使读者先做一次翻译:ECONNRESETidempotency_key conflict403 Forbidden 对工程师是分类,对用户是噪声。翻译失败时,人会抓住唯一认得的词乱猜——看见「超时」就重试,看见「权限」就以为自己账号坏了。术语还泄漏架构,把本该留在诊断层的结构暴露在主表面。任务语言把同一事件说成「没能连上服务器,订单还没生成」,恢复分支立刻可辨。术语不是「专业」,它是把听众设成了另一个角色。

怎么研究

同一故障分别用异常原文、HTTP 短语、任务对象语言呈现,让非工程师选下一步。

自变量:主文案是否含内部标识符、是否另附可复制编号、读者是否有技术背景。 因变量:选对恢复分支的比例、把术语当原因解释的比例、愿意继续的比例、是否尝试把堆栈当操作说明。

用产品真实用户而不是开发者做主样本。开发者组可以另测:他们在主流程里也会被堆栈打断,只是打断的方式不同。

边界

开发者工具、CLI、带鉴权的运维控制台可以把术语放进主视图,但仍不应把密钥、路径和跨租户数据印在屏幕上。面向混用角色的产品,默认走任务语言,术语放进需显式展开的「技术细节」。专有名词若已经是用户任务的一部分(「发票」「SKU」),不是内部术语;内部术语是用户任务里不存在的实现名。

怎么落地

  • 主表面禁服务名、异常类、堆栈、未翻译的状态短语;用对象、动作和状态替换。
  • 需要给支持对齐时,放无业务语义的编号,而不是把异常字符串贴在标题上。
  • 在渲染链路扫描 toast、邮件、状态页和兜底页,拦截未映射的内部消息。
  • 验证:把报错截图给没读过架构的人,圈出每一个看不懂的词。圈得出来的词若挡住了「下一步做什么」,那一层就要从主表面拿掉。

延伸

  • 同组H3.03.1 不把责任归于用户 · H3.03.3 不用玩笑消解真实损失
  • 相邻H3.02 错误消息的三要素 · T2.04 错误文案 · H3.14 错误的日志与上报
  • 站内检索jargon-free error · plain language · exception leakage

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H3.03.2