E2.06.2example-over-rule设计研究

示例优于抽象规则描述

别名: 格式示例 · worked example format · 抽象正则说明

概念解释

「8–20 位字母数字及下划线」是抽象规则;「如 user_01」是示例。人在填格式化字段时,更常按看得见的实例去仿,而不是先把规则编译成心理正则。示例优于规则(example-over-rule)说的是:需要传达形状时,先给一个合法实例,规则作补充;只给抽象描述,仿写会走样。它不管提示出现在输入前还是出错后,也不管提示是否常驻。

机制

抽象规则要经过一次语言到形状的翻译:位数、字符类、分隔符位置都被编码成句子。翻译会丢细节——「字母数字」还包不包含空格、「日期」是日月年还是年月日,句子里往往含糊。示例把形状直接摊开:几段、哪几位是数字、符号在哪。这和教学里的样例学习(worked example)同一条路:先模仿具体物,再归纳。坏示例同样强:看起来像真值的电话号码会被提交;只展示一种地区格式,其他合法变体会被当成错误。示例是强约束,所以必须选对。

怎么研究

同一约束分别用抽象句子、单一示例、示例加一句规则来呈现,比较首申合法率、合法变体是否被误拒的自我报告、以及是否提交了示例原文。自变量:格式是否有多种合法写法、示例是否明显假。因变量:仿写准确、把示例当值、过度收窄(只接受与示例同构的串)。不要用「读懂规则了吗」的问卷代替实际打出来的串——人会说懂了,打出来仍按示例的空格走。

边界

示例无法覆盖互斥的多种合法形状(国际电话有无国家码、日期的多种本地写法),只给一个会把其余合法输入训练成「错」。安全规则里「不要用常见词」很难举例,举例本身可能变成一本弱密码词典。正则对开发者文档是对的,对最终用户不是;把正则当示例会比抽象中文更糟。需要精确字符类(校验码、车辆识别号)时,示例要配上仍可见的位数,单靠一个实例会被看成允许改长度。

怎么落地

  • 用一个明显非真实的合法实例展示形状,再配一句只补示例没说清的约束。
  • 有多种合法写法时,要么给两个对照实例,要么写明「以下之一」,不要让单一示例变成唯一模板。
  • 不要把示例做成看起来能提交的真值(真实手机号、真实姓名)。
  • 验证:遮住抽象句子,只留示例,看人打出来的串是否合法;再给一串与示例不同构但合法的值,看他们是否不敢提交。前者失败就换示例,后者失败就补变体说明。

延伸

  • 同组E2.06.1 格式要求应在输入前而非提交后给出 · E2.06.3 格式提示需常驻而非仅在错误时出现
  • 相邻E2.04 占位符 · E2.07 输入掩码
  • 站内检索example-over-rule · worked example · format example

同组卡片

快捷操作

分享

分享当前页面

ios_share

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