Принцип наименьшего удивления - Principle of least astonishment - Wikipedia

В принцип наименьшего удивления (ПОЛА), также называемый принцип наименьшего удивления (в качестве альтернативы закон или же правило),[1][2] относится к пользовательский интерфейс и программного обеспечения дизайн.[3] Ниже приводится типичная формулировка принципа: «Если необходимая функция имеет высокий фактор удивления, может потребоваться ее переработка».[4]

Этот термин используется в отношении использования компьютеров, по крайней мере, с 1970-х годов.[5] Хотя этот принцип впервые был формализован в области компьютерных технологий, он может широко применяться в других областях. Например, в письмо, а Перекрестная ссылка к другой части работы или гиперссылка должны быть сформулированы таким образом, чтобы точно сказать читателю, чего ожидать. В книге о рыбалке на бас «Рецепты приготовления улова см. В главе 4» не должны вести читателя к главе о сезонах ловли окуня в различных местах.

Более общее утверждение принципа состоит в том, что компонент системы должен вести себя так, как ожидает большинство пользователей. Такое поведение не должно удивлять или удивлять пользователей.

Формулировка

А учебник формулировка: «Люди - часть системы. Дизайн должен соответствовать опыту, ожиданиям и ментальные модели."[6]

Принцип направлен на использование уже имеющихся знаний пользователей для минимизации кривая обучения например, путем разработки интерфейсов, которые в значительной степени заимствованы из «функционально похожих или аналогичных программ, с которыми ваши пользователи, вероятно, будут знакомы».[1] Ожидания пользователей в этом отношении могут быть тесно связаны с конкретным вычислительная платформа или же традиция. Например, Unix программы командной строки должны следовать определенным соглашениям относительно переключатели,[1] и виджеты из Майкрософт Виндоус ожидается, что программы будут следовать определенным соглашениям в отношении горячие клавиши.[7] В более абстрактных настройках, таких как API, ожидание того, что функция или имена методов интуитивно соответствуют их поведению - другой пример.[8] Эта практика также предполагает применение разумных значения по умолчанию.[4]

Когда два элемента интерфейса конфликтуют или неоднозначны, поведение должно быть таким, которое меньше всего удивит Пользователь; в частности программист Следует стараться думать о поведении, которое меньше всего удивит того, кто использует программу, а не о том поведении, которое является естественным из-за знания внутренней работы программы.[4]

Выбор "наименее неожиданного" поведения может зависеть от ожидаемой аудитории (например, конечные пользователи, программисты, или же системные администраторы ).[1]

Примеры

У веб-сайта может быть поле ввода который фокусируется автоматически после загрузки страницы,[9] например, поле поиска (например, Пользовательский поиск Google ), или имя пользователя поле авторизоваться форма.

Сайты, предлагающие горячие клавиши часто позволяют нажимать ? чтобы увидеть доступные ярлыки. Примеры включают Gmail[10] и Jira.[11]

В Операционные системы Windows и немного окружения рабочего стола за Linux, то F1 функциональная клавиша обычно открывает программа помощи для заявление. Аналогичное сочетание клавиш в macOS является Команда+⇧ Shift+/. Пользователи ожидают помощи окно или же контекстное меню когда они нажимают обычные горячие клавиши справки. Программное обеспечение, которое вместо этого использует этот ярлык для другой функции, может вызвать удивление, если не появится помощь. Вредоносное ПО может использовать знакомство пользователя с обычными ярлыками.[12]

А язык программирования с стандартная библиотека обычно предоставляет функция аналогично псевдокод ParseInteger (строка; основание), который создает машиночитаемый целое число из нить удобочитаемых цифры. В основание условно значения по умолчанию до 10, что означает, что строка интерпретируется как десятичный (база 10). Эта функция обычно поддерживает другие базы, например двоичный (база 2) и восьмеричный (основание 8), но только если они указаны явно. В отступление от этого соглашения, JavaScript изначально по умолчанию использовалась основа 8 для строк, начинающихся с "0", в результате разработчик путаница и программные ошибки.[13] Это не поощрялось в ECMAScript 3 и упало в ECMAScript 5.[14]

Смотрите также

Рекомендации

  1. ^ а б c d Раймонд, Эрик Стивен (2003). «Применение правила наименьшего удивления». Искусство программирования под Unix. faqs.org. п. 20. ISBN  978-0-13-142901-7. Получено 2020-08-23.
  2. ^ Джеймс, Джеффри (1987). Закон наименьшего удивления. Дао программирования. 4.1. ISBN  0-931137-07-1. Получено 2014-02-05.
  3. ^ Зеебах, Питер (2001-08-01). «Принцип наименьшего удивления». Капризный пользователь. IBM DeveloperWorks. Получено 2014-01-23.
  4. ^ а б c Коулишоу, М.Ф. (1984). «Дизайн языка REXX» (PDF). Журнал IBM Systems. 23 (4): 333. Дои:10.1147 / sj.234.0326. Получено 2014-01-23. Может ли новая функция быть причиной сильного удивления? Если функция случайно неправильно применена пользователем и вызывает то, что кажется ему непредсказуемым результатом, эта функция имеет высокий фактор удивления и поэтому нежелательна. Если необходимая функция имеет высокий фактор удивления, может потребоваться переработать ее.
  5. ^ "Deafult Batch Priority - Опрос пользователей". Информационный бюллетень вычислительного центра. Мичиган: Мичиганский университет. 1978-04-05. Получено 2020-08-25.
  6. ^ Saltzer, J. H .; Каашук, Франс (2009). Принципы проектирования компьютерных систем: введение. Морган Кауфманн. п. 85. ISBN  978-0-12-374957-4.
  7. ^ Петроутсос, Евангелос (2010). Освоение Microsoft Visual Basic 2010. Вайли. п. 133. ISBN  978-0-470-53287-4.
  8. ^ Блох, Джошуа (2006). «Как разработать хороший API и почему это важно». Proceeding OOPSLA '06 Сопутствующий 21-й симпозиум ACM SIGPLAN по системам, языкам и приложениям объектно-ориентированного программирования. Ассоциация вычислительной техники. С. 506–7. Дои:10.1145/1176617.1176622. ISBN  1-59593-491-X. S2CID  27230400.
  9. ^ «Формы в HTML». Сеть разработчиков Mozilla. Mozilla. Получено 2013-07-27.
  10. ^ Вивиан (21.06.2013). «Сочетания клавиш для Gmail». Google Inc. Получено 2013-07-27.
  11. ^ «Использование быстрых клавиш». Атласский. Получено 2013-07-27.
  12. ^ Кейзер, Г. (1 марта 2010 г.). «Microsoft: не нажимайте клавишу F1 в Windows XP». Computerworld. Получено 10 ноя 2019.
  13. ^ "Почему основание для parseInt JavaScript по умолчанию равно 8?". Переполнение стека. 8 апреля 2011 г.
  14. ^ "parseInt ()", Сеть разработчиков Mozilla (MDN), Если входная строка начинается с «0» (ноль), предполагается, что основание системы счисления равно 8 (восьмеричное) или 10 (десятичное). Выбор системы счисления зависит от реализации. ECMAScript 5 поясняет, что следует использовать 10 (десятичное), но пока не все браузеры поддерживают это.

внешняя ссылка