Princip minimálního překvapení

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Princip minimálního překvapení (anglicky principle of least astonishment) se vztahuje na návrh uživatelských rozhraní, design a ergonomii software. Někdy je označován také jako pravidlo/princip nejmenšího překvapení.

Princip minimálního překvapení souvisí s použitelností, přístupností, uživatelskou přívětivostí.

Princip vychází z tvrzení, že uživatel je součástí systému. Uživatelské rozhraní má proto respektovat jeho zkušenosti, očekávání a mentalitu. +more To co je méně překvapující často záleží na konkrétním koncovém uživateli daného systému. Uživatelské rozhraní programu by mělo být nastaveno tak, aby ve výchozím stavu uspokojilo potřeby a komfort většiny cílových uživatelů.

Jinak řečeno se tento princip snaží využít existující očekávané znalosti uživatele k minimalizaci doby učení se ovládání nového programu, například tím, že při návrhu uživatelského rozhraní využijeme prvky podobných, uživateli známých programů. V tomto ohledu může být očekávání uživatele úzce spojeno s konkrétním systémem nebo platformou, na kterou je uživatel zvyklý. +more Například u programů obsahujících ovládací prvek podobný Unixové příkazové řádce je uživatelem očekávána i podobná syntaxe příkazů. Stejně tak programy systému Windows by měly respektovat obvyklé klávesové zkratky.

V abstraktnější rovině, jako je programové API nebo zdrojový kód programu, se očekává logické pojmenovávání funkcí a metod, kde již z názvu má být patrná funkcionalita. Složitější funkce u kterých to tak není by měli být doplněny o vysvětlující komentáře.

V případě, kdy je prvek uživatelského rozhraní nejednoznačný, mělo by jeho chování uživatele co nejméně překvapit (dle principu nejmenšího zla). Konkrétně by se měl programátor pokusit vžít do role budoucího uživatele systému a chování navrhnout pochopitelně i pro uživatele bez znalosti vnitřního fungování programu.

Obecná pravidla a firemní kultura

Pro návrh uživatelských rozhraní existují obecná pravidla pro jednotlivé operační systémy a platformy. Pro vývojáře je vydává například firma Apple ([url=https://developer. +moreapple. com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines/Intro/Intro. html]Mac OS X Human Interface Guidelines[/url]) nebo Microsoft.

Stejně tak pro psaní zdrojových kódů jednotlivých programovacích jazyků existují konvence, jak psát kód co nejlépe čitelný a srozumitelný. Navíc, jelikož mnoho programovacích jazyků nabízí pro stejné funkce různé programové konstrukce a syntaxe, vyvíjí mnoho firem další iniciativu aby usnadnili práci svým zaměstnancům a zavádějí vlastní konvence, jak psát zdrojové kódy tak, aby jim snadno rozuměli všichni zaměstnanci, kterých se to týká.

Jednotlivé programovací jazyky mají také své vlastní nástroje a způsoby jak komentovat zdrojové kódy programu, aby se v nich budoucí programátoři vyznali. Například pro programovací jazyk JAVA je známý systém Javadoc.

Příklady

Představme si situaci, kdy se uživatel chystá vyplnit své jméno a heslo (či jiná citlivá data) do jednoho programu a je vyrušen příchozí zprávou z chatovacího programu. Některé chatovací programy po příchozí zprávě automaticky přejdou do popředí a kurzor nastaví do pole pro odpověď, protože předpokládají, že uživatel bude chtít na zprávu odpovědět. +more Uživatelé, kteří při psaní sledují klávesnici a nikoli monitor mohou pak nečekaně zjistit, že do chatu odeslali své jméno a heslo. * Klávesa F1 je ve většině programů využita k otevření nápovědy. Uživatelé očekávající okno s nápovědou bude nemile překvapen, pokud ve chvíli kdy hledá nápovědu programu jí nenajde. * Dva způsoby zápisu stejného forcyklu v jazyku java mohou zmást především začínající programátory.

int[] cisla = {1,2,3,4,5,6,7,8,9,10}; for (int cislo : cisla) { System.out.println("Cislo je: " + cislo); }

int[] cisla = {1,2,3,4,5,6,7,8,9,10}; int cislo; for(int i=0; i

Kategorie:Ergonomie Kategorie:Uživatelské rozhraní Kategorie:Softwarové inženýrství Kategorie:Principy programování Kategorie:Heuristiky

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top