Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Формулировка [ править ]

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

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

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

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

Примеры [ править ]

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

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

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

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

См. Также [ править ]

  • DWIM (делай то, что я имею в виду)
  • Соглашение важнее конфигурации
  • Рекомендации по человеческому интерфейсу
  • Смотри и чувствуй
  • бритва Оккама
  • WYSIWYG
  • Список философий разработки программного обеспечения

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Принцип наименьшего удивления в портлендском репозитории паттернов