Prinzip des geringsten Erstaunens – Wikipedia

before-content-x4

Prinzip im Computersystemdesign

Der Prinzip des geringsten Erstaunens (POLA), auch bekannt Prinzip der geringsten Überraschung (alternativ a Gesetz oder Regel),[1][2] gilt für Benutzeroberflächen und Softwaredesign.[3] Es schlägt vor, dass sich eine Komponente eines Systems so verhalten sollte, wie die meisten Benutzer erwarten, dass sie sich verhält. Das Verhalten sollte die Benutzer nicht überraschen oder überraschen. Es folgt eine formale Aussage zum Grundsatz: “Wenn ein notwendiges Feature einen hohen Erstaunenswert hat, kann es notwendig sein, das Feature neu zu gestalten.”[4]

Der Begriff wird in Bezug auf die Computernutzung mindestens seit den 1970er Jahren verwendet.[5] Obwohl es zuerst im Bereich der Computertechnologie formalisiert wurde, kann das Prinzip auch in anderen Bereichen breit angewendet werden. Schriftlich sollte beispielsweise ein Querverweis auf einen anderen Teil der Arbeit oder ein Hyperlink so formuliert werden, dass er dem Leser genau sagt, was ihn erwartet. In einem Buch über das Angeln auf Barsch sollte “Rezepte zum Kochen Ihres Fangs finden Sie in Kapitel 4” den Leser nicht zu einem Kapitel über die Jahreszeiten zum Barschenfischen an verschiedenen Orten führen.

Formulierung[edit]

Eine Lehrbuchformulierung lautet: “Menschen sind Teil des Systems. Das Design sollte der Erfahrung, den Erwartungen und den mentalen Modellen des Benutzers entsprechen.”[6]

Das Prinzip zielt darauf ab, das vorhandene Wissen der Benutzer zu nutzen, um die Lernkurve zu minimieren, beispielsweise durch die Gestaltung von Oberflächen, die sich stark an “funktionell ähnlichen oder analogen Programmen anlehnen, die Ihre Benutzer wahrscheinlich kennen”.[1] Benutzererwartungen in dieser Hinsicht können eng mit einer bestimmten Computerplattform oder Tradition verbunden sein. Von Unix-Befehlszeilenprogrammen wird beispielsweise erwartet, dass sie bestimmten Konventionen in Bezug auf Schalter folgen,[1] und Widgets von Microsoft Windows-Programmen müssen bestimmten Konventionen in Bezug auf Tastenkombinationen folgen.[7] In abstrakteren Umgebungen wie einer API ist die Erwartung, dass Funktions- oder Methodennamen intuitiv mit ihrem Verhalten übereinstimmen, ein weiteres Beispiel.[8] Diese Praxis beinhaltet auch die Anwendung sinnvoller Vorgaben.[4]

Wenn zwei Elemente einer Schnittstelle in Konflikt geraten oder mehrdeutig sind, sollte das Verhalten den Benutzer am wenigsten überraschen; Insbesondere sollte ein Programmierer versuchen, an das Verhalten zu denken, das einen Benutzer des Programms am wenigsten überrascht, anstatt an das Verhalten, das aufgrund der Kenntnis der inneren Funktionsweise des Programms natürlich ist.[4]

Die Wahl des “am wenigsten überraschenden” Verhaltens kann von der erwarteten Zielgruppe abhängen (zB Endbenutzer, Programmierer oder Systemadministratoren).[1]

Beispiele[edit]

Eine Website könnte ein Eingabefeld haben, das nach dem Laden der Seite automatisch fokussiert,[9] B. ein Suchfeld (z. B. Google Custom Search) oder das Benutzernamensfeld eines Anmeldeformulars.

Websites, die Tastaturkürzel anbieten, erlauben oft das Drücken von ? um die verfügbaren Verknüpfungen anzuzeigen. Beispiele sind Gmail[10] und Jira.[11]

In Windows-Betriebssystemen und einigen Desktop-Umgebungen für Linux ist die F1 Funktionstaste öffnet normalerweise das Hilfeprogramm für eine Anwendung. Eine ähnliche Tastenkombination in macOS ist ⌘ Befehl+⇧ Shift+/. Benutzer erwarten ein Hilfefenster oder ein Kontextmenü, wenn sie die übliche(n) Tastenkombination(en) für die Hilfe drücken. Software, die stattdessen diese Verknüpfung für eine andere Funktion verwendet, wird wahrscheinlich erstaunen, wenn keine Hilfe angezeigt wird.[12]

Die Standardbibliothek einer Programmiersprache bietet normalerweise eine ähnliche Funktion wie der Pseudocode ParseInteger(string, radix), die eine maschinenlesbare Ganzzahl aus einer Zeichenfolge von menschenlesbaren Ziffern erstellt. Der Radix ist normalerweise standardmäßig auf 10 eingestellt, was bedeutet, dass die Zeichenfolge als dezimal (Basis 10) interpretiert wird. Diese Funktion unterstützt normalerweise andere Basen, wie binär (Basis 2) und oktal (Basis 8), aber nur, wenn sie explizit angegeben werden. Abweichend von dieser Konvention hat JavaScript ursprünglich die Basis 8 für Strings verwendet, die mit “0” beginnen, was zu Verwirrung bei den Entwicklern und Softwarefehlern führte.[13] Dies wurde in ECMAScript 3 abgeraten und in ECMAScript 5 fallen gelassen.[14]

Siehe auch[edit]

Verweise[edit]

  1. ^ ein B C D Raymond, Eric Steven (2003). „Anwenden der Regel der geringsten Überraschung“ . Die Kunst der Unix-Programmierung. faqs.org. P. 20. ISBN 978-0-13-142901-7. Abgerufen 2020-08-23.
  2. ^ James, Geoffrey (1987). Gesetz des geringsten Erstaunens. Das Tao der Programmierung. 4.1. ISBN 0-931137-07-1. Abgerufen 2014-02-05.
  3. ^ Seebach, Peter (2001-08-01). „Das Prinzip des geringsten Erstaunens“. Der verschrobene Benutzer. IBM DeveloperWorks. Abgerufen 2014-01-23.
  4. ^ ein B C Cowlishaw, MF (1984). “Das Design der REXX-Sprache” (PDF). IBM Systems Journal. 23 (4): 333. doi:10.1147/sj.234.0326. Abgerufen 2014-01-23. Könnte mit dem neuen Feature ein hoher Erstaunenfaktor verbunden sein? Wenn ein Merkmal vom Benutzer versehentlich falsch angewendet wird und ein für ihn unvorhersehbares Ergebnis verursacht, hat dieses Merkmal einen hohen Erstaunenfaktor und ist daher unerwünscht. Wenn ein notwendiges Feature einen hohen Erstaunenswert hat, kann es notwendig sein, das Feature neu zu gestalten.
  5. ^ “Standard-Batch-Priorität – Benutzerumfrage”. Rechenzentrums-Newsletter. Michigan: Universität von Michigan. 1978-04-05. Abgerufen 2020-08-25.
  6. ^ Saltzer, JH; Kaashoek, Frans (2009). Prinzipien des Computersystemdesigns: eine Einführung. Morgan Kaufmann. P. 85. ISBN 978-0-12-374957-4.
  7. ^ Petroutsos, Evangelos (2010). Beherrschen von Microsoft Visual Basic 2010. Wiley. P. 133. ISBN 978-0-470-53287-4.
  8. ^ Bloch, Joshua (2006). “Wie man eine gute API entwirft und warum sie wichtig ist”. Proceeding OOPSLA ’06 Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages ​​and Applications. Verband für Rechenmaschinen. S. 506–7. mach:10.1145/1176617.1176622. ISBN 1-59593-491-X. S2CID 27230400.
  9. ^ “Formulare in HTML”. Mozilla-Entwicklernetzwerk. Mozilla. Abgerufen 2013-07-27.
  10. ^ Vivian (2013-06-21). “Tastaturkürzel für Gmail”. Google Inc. Abgerufen 2013-07-27.
  11. ^ “Verwenden von Tastenkombinationen”. Atlassian. Abgerufen 2013-07-27.
  12. ^ Keiser, G. (1. März 2010). “Microsoft: Drücken Sie unter Windows XP nicht die F1-Taste”. Computerwelt. Abgerufen 10. November 2019.
  13. ^ “Warum ist das Radix für parseInt von JavaScript standardmäßig auf 8 gesetzt?”. Paketüberfluss. 8. April 2011.
  14. ^ “parseInt()”, Mozilla-Entwicklernetzwerk (MDN), Wenn die Eingabezeichenfolge mit “0” (einer Null) beginnt, wird Radix als 8 (oktal) oder 10 (dezimal) angenommen. Welche Radix genau gewählt wird, ist implementierungsabhängig. ECMAScript 5 stellt klar, dass 10 (dezimal) verwendet werden sollte, aber noch nicht alle Browser unterstützen dies.

Externe Links[edit]

after-content-x4