A legkisebb meghökkentés elve

A Wikipédiából, a szabad enciklopédiából

A legkisebb meghökkentés elve, amelyet a legkevesebb meglepetés elvének is neveznek (más néven törvény vagy szabály)[1] [2] a felhasználói felületre és a szoftvertervezésre érvényesül.[3] Az elv tipikus megfogalmazása 1984-ből: „Ha egy szükséges tulajdonság nagyon meglepő, szükségessé válhat a tulajdonság újratervezése.”[4]

Általánosabban ez az elv azt jelenti, hogy egy rendszer elemének úgy kellene viselkednie, ahogy arra a legtöbb felhasználó számít; a viselkedésnek nem szabad meghökkentenie vagy meglepnie a felhasználókat.

Megfogalmazás[szerkesztés]

A tankönyvi megfogalmazás: „Az emberek a rendszer részei. A tervezésnek meg kellene egyeznie a felhasználói élménnyel, elvárásokkal és elméleti modellekkel.”[5]

Az elv célja a felhasználók már meglévő tudásának hasznosítása a tanulási görbe minimalizálása érdekében, például olyan felületek tervezésével, melyek erősen kölcsönöznek működésében hasonló vagy megegyező programoktól, amelyek a felhasználóknak valószínűleg ismerősek.[1] A felhasználói elvárások ebben a tekintetben szorosan kapcsolódhatnak egy bizonyos számítógépes platformhoz vagy szokáshoz. Például a Unix parancssori programok várhatóan bizonyos szabályokat követnek a kapcsolók függvényében, és a Microsoft Windows-programok vezérlőelemei várhatóan bizonyos szabályokat követnek a billentyűparancsok függvényében.[6] Absztraktabb beállításokban, mint például egy API, egy másik példa annak elvárása, hogy a függvény- vagy metódusnevek intuitív módon illeszkedjenek viselkedésükhöz.[7] Ez a gyakorlat magában foglalja az észszerű alapértelmezések alkalmazását is.[4]

Amikor egy interfész két eleme ütközik egymással vagy nem egyértelmű, a viselkedésnek olyannak kell lennie, amely a legkevésbé fogja meglepni a felhasználót; különösképp a programozónak kell megpróbálnia kitalálni egy viselkedést, ami legkevésbé fogja meglepni azt, aki a programot használja, nem pedig olyasmit, ami természetes a program belső működésének az ismeretéből.[4]

A „legkevésbé meglepő” viselkedés kiválasztása a várható közönségtől (például a végfelhasználótól, a programozótól vagy a rendszergazdától) függhet.[1]

Példák[szerkesztés]

A webhelynek lehet egy olyan bemeneti mezője, amely automatikusan fókuszál az oldal betöltése után,[8] mint például egy keresési mező (pl. Google Custom Search) vagy a bejelentkezési űrlap felhasználónév mezője.

A billentyűparancsokat kínáló webhelyek gyakran lehetővé teszik a ? billentyű megnyomását, hogy megtekinthessük az elérhető parancsokat. Példa erre a Gmail [9] és a Jira.[10]

A Windows operációs rendszerek és néhány asztali környezettel rendelkező Linux számára, az F1 funkciógomb általában megnyitja a segítőprogramot egy alkalmazásban. Egy hasonló billentyűparancs a MacOS-ban a Command+Shift+/. A felhasználók egy súgóablakot vagy helyi menüt várnak, amikor megnyomják a szokásos súgóbillentyűket. Az a szoftver, amely ehelyett ezt a parancsikont használja egy másik szolgáltatáshoz, valószínűleg meglepetést okoz, ha nem jelenik meg segítség. A rosszindulatú programok kihasználhatják, hogy a felhasználók már fejből használják a már ismert billentyűparancsokat.[11]

Egy programozási nyelv sztenderd könyvtára általában nyújt egy funkciót, hasonlót a ParseInteger(string, radix) pszeudokódokhoz, amely létrehoz egy géppel olvasható egészt egy ember által olvasható számjegyekből álló stringből. A radix hagyományos alapértelmezett értéke 10, azaz a karakterlánc tízes számrendszerben van értelmezve. Ez a funkció általában más számrendszereket is támogat, például bináris és oktális, de csak akkor, ha azokat kifejezetten meghatározzák. Ettől eltérően, a JavaScript eredetileg 8-as számrendszerre volt értelmezve a 0-val kezdődő karakterláncok esetében, ami összezavarta a fejlesztőt és szoftverhibákat okozott.[12] Ettől az ECMAScript 3-ban elhatárolódtak, az ECMAScript 5 pedig már ejtette.[13]

Jegyzetek[szerkesztés]

  1. a b c Raymond, Eric Steven. Applying the Rule of Least Surprise. faqs.org, 20. o. (2003). ISBN 978-0-13-142901-7. Hozzáférés ideje: 2020. április 9. 
  2. James, Geoffrey. Law of Least Astonishment (1987). ISBN 0-931137-07-1. Hozzáférés ideje: 2014. február 5. 
  3. Seebach: The Principle of Least Astonishment. The cranky user. IBM DeveloperWorks, 2001. augusztus 1. (Hozzáférés: 2014. január 23.)
  4. a b c Cowlishaw (1984). „The design of the REXX language”. IBM Systems Journal 23 (4), 333. o. DOI:10.1147/sj.234.0326. (Hozzáférés: 2014. január 23.) „Could there be a high astonishment factor associated with the new feature? If a feature is accidentally misapplied by the user and causes what appears to him to be an unpredictable result, that feature has a high astonishment factor and is therefore undesirable. If a necessary feature has a high astonishment factor, it may be necessary to redesign the feature.” 
  5. Saltzer, J. H.. Principles of computer system design: an introduction. Morgan Kaufmann, 85. o. (2009). ISBN 978-0-12-374957-4 
  6. Petroutsos, Evangelos. Mastering Microsoft Visual Basic 2010. Wiley, 133. o. (2010). ISBN 978-0-470-53287-4 
  7. Bloch, Joshua. How to design a good API and why it matters, Proceeding OOPSLA '06 Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications. Association for Computing Machinery, 506–7. o.. DOI: 10.1145/1176617.1176622 (2006). ISBN 1-59593-491-X 
  8. Forms in HTML. Mozilla Developers Network. Mozilla. (Hozzáférés: 2013. július 27.)
  9. Vivian: Keyboard shortcuts for Gmail. Google Inc., 2013. június 21. (Hozzáférés: 2013. július 27.)
  10. Using Keyboard Shortcuts. Atlassian. (Hozzáférés: 2013. július 27.)
  11. Keizer. „Microsoft: Don't press F1 key in Windows XP”, Computerworld, 2010. március 1.. [2020. szeptember 22-i dátummal az eredetiből archiválva] (Hozzáférés: 2019. november 10.) 
  12. Why does the radix for JavaScript's parseInt default to 8?. Stack Overflow, 2011. április 8.
  13. parseInt(), <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt>

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a Principle of least astonishment című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Kapcsolódó szócikkek[szerkesztés]

További információk[szerkesztés]