最小惊奇原则

2020-05-06 02:41:52

跳转到导航跳转搜索最不惊讶原则(POLA),也称为最不惊讶原则(或者,法则34;或规则34;)[1][2]适用于用户界面和软件设计。[3]从1984年开始,该原则的一个典型表述是:如果一个必要的特征具有很高的惊喜度,则可能需要重新设计该特征。";[4]。

更广泛地说,该原则意味着系统组件的行为方式应该是大多数用户期望它的行为方式;该行为不应该让用户感到惊讶。

教科书上的表述是:人是系统的一部分。设计应该与用户的体验、期望和心理模型相匹配。

该原则旨在利用用户已有的知识将学习曲线降至最低,例如,通过设计大量借用您的用户可能熟悉的功能相似或类似程序的界面。[1]用户在这方面的期望可能与特定的计算平台或传统密切相关。例如,Unix命令行程序应遵循有关开关的特定约定[1],Microsoft Windows程序的窗口小部件应遵循有关键盘快捷键的特定约定。[6]在更抽象的设置(如API)中,函数或方法名称与其行为直观匹配的期望是另一个例子。[7]这种做法还涉及合理默认值的应用。[4]。

当界面的两个元素冲突或模棱两可时,行为应该是最不会让用户感到惊讶的行为;特别是程序员应该尝试考虑最不会让使用程序的人感到惊讶的行为,而不是从了解程序的内部工作方式中自然产生的行为。[4]。

选择最不令人惊讶的行为可能取决于预期的受众(例如,最终用户、程序员或系统管理员)。[1]。

网站可以有一个在页面加载后自动聚焦的输入字段[8],例如搜索字段(例如Google Custom Search)或登录表单的用户名字段。

提供键盘快捷键的网站通常允许按键吗?若要查看可用的快捷键,请执行以下操作。例如Gmail[9]和Jira。[10]

在Windows操作系统和某些Linux桌面环境中,F1功能键通常会打开应用程序的帮助程序。MacOS中类似的键盘快捷键是⌘命令+⇧Shift+/。当用户按下通常的帮助快捷键时,他们期望看到帮助窗口或上下文菜单。如果软件将此快捷方式用于另一个功能,则如果没有出现帮助,很可能会引起惊讶。恶意软件可以利用用户对常规快捷键的熟悉程度。[11]。

编程语言的标准库通常提供类似于伪代码ParseInteger(字符串,基数)的函数,它从人类可读的数字字符串创建机器可读的整数。基数通常默认为10,这意味着字符串被解释为十进制(以10为基数)。此函数通常支持其他基数,如二进制(基数2)和八进制(基数8),但仅当它们被显式指定时才支持。与这一约定不同的是,对于以";0";开头的字符串,JavaScript最初默认为基数8,这会导致开发人员困惑和软件错误。[12]这在ECMAScript 3中是不鼓励的,在ECMAScript 5中删除[13]。

埃里克·史蒂文(2003)。运用最不令人惊讶的原则。Unix编程的艺术。faqs.org。第20页。ISBN电话:978-0-13-142901-7。

彼得·塞巴赫(2001-08-01)。最小惊讶原则。脾气暴躁的用户。IBM developerWorks。

^a b c c Cowlishaw,M.F.(1984)。Rexx语言的设计(PDF)。IBM系统杂志。23(4):333。doi:10.1147/sj.234.0326.。这项新功能会不会有让人大吃一惊的因素呢?如果某个功能被用户意外误用,并导致在他看来是不可预测的结果,则该功能具有很高的惊喜度,因此是不受欢迎的。如果必要的特征具有很高的惊奇系数,则可能需要重新设计该特征。

约书亚·布洛赫(2006)。如何设计一个好的API,为什么它很重要。参加第21届ACM SIGPLAN面向对象编程系统、语言和应用研讨会。计算机械协会。第506-7.DOI页:10.1145/507。ISBN电话:1-59593-491X。

^Keizer,G.(2010年3月1日)。Microsoft:在Windows XP中不要按F1键。计算机世界。

^";parseInt()";,Mozilla Developer Network(MDN),如果输入字符串以";0";(零)开头,则假定基数为8(八进制)或10(十进制)。具体选择哪个基数取决于实现。ECMAScript 5澄清应该使用10(十进制),但并不是所有的浏览器都支持这一点。