Jak psát chybové hlášky
Motivace
Pokud chcete zlepšit použitelnost aplikace a nemáte dosud zaveden proces kontroly jejich textů, udělejte následující trik: nechte si vypsat všechny texty aplikace do jednoho souboru. Pod sebe. Pak se začtěte.
Pravděpodobně zjistíte, že jak to tam jednotliví programátoři flákli, tak to tam je. Kvalita a smysluplnost bývá nevalná a míchají se různé styly a úrovně podle toho, jak na tom zrovna autoři zrovna byli.
A teď si představte, že takové chybové hlášky vidí chudák uživatel v okamžiku, kdy má problém.Jak na to
Řešení je velmi jednoduché, stačí se držet několika jednoduchých pravidel. Ale musíte se jich držet vždy a dobře.
- Mluvte k uživateli, ne ke kolegovi z pracovny. Jestli je vaším uživatelem děcko, hláška má být pro dítě. Když opilý námořník v baru, hláška bude jiná, než pro profesora matematiky při prezentaci na konferenci. Musíte se zamyslet, jak tomu dítěti nebo profesorovi vzniklou situaci nejlépe popsat a vyřešit.
- Oznamte, co, kde a proč se stalo.
- Pokud to je možné a vhodné, poraďte s řešením.
To je celé, toto fakt stačí k tomu, aby hlášky byly božské. Ale musíte se to naučit a dodržovat.
Uvedu několik příkladů, čísla budou znamenat, který bod byl porušen:
- Problém: Soubor nenalezen (File not found)
Řešení: Soubor statistik „Daily report.xml“ nebyl vytvořen, není zapnuta volba „Generovat denní statistiky“ v předvolbách aplikace.
Porušení: 1. Uživatel nehledal soubor, chtěl se podívat na statistiku. 2. Není uvedeno jméno souboru ani co to má za následky. 3. Řešení se nemusí nabízet vždy, ale tady by asi bylo vhodné. - Problém: Chyba: Parametr „Running“ je ve stavu „true“
Řešení: Procesoru „Clever“ nelze měnit nastavení, neboť je aktivní. - Problém: Nečekaná chyba: Out of memory. (/Src/Graphics/Triangle.cpp:454)
Řešení: Program nemá k dispozici dostatek paměti. Zkuste ukončit programy, které právě nepoužíváte. Pokud se tyto problémy vyskytují častěji, mohlo by pomoci rozšíření paměti. - Problém: Spojení bylo přerušeno (Connection failed)
Řešení: Spojení se serverem bylo přerušeno. Kontaktujte správce na klapce: 666
Vlastně existuje ještě jedno pravilo, týkající se varovných a chybových hlášek: Žádná hláška – super hláška. Moje finální rada je následující: zbavte se (skoro) všech hlášek, stejně se používají, jen aby prudily. Zkuste si v duchu porovnat, kolik varování máte doma. Máte na skříňce napsáno, že dvířka mohou upadnout, když se na ně pověsíte? Potřebujete cedulku, že vám došla vejce nebo to poznáte sami? Vyžadujete při vysypávání koše varování, že pokud ty věci vhodíte do kontejneru, přijdete o ně? Jak často vás zajímá, že v kapse máte tři předměty…
Je to jen lenost programátorů (je lepší díru zakrýt, než ji obklopit deseti cedulemi Pozor díra ve všech jazycích) nebo falešná korektnost (opravdu si přejete soubor přejmenovat?), která vede k takovému velkému počtu hlášek v aplikacích. Redukujte, redukujte, ještě jednou redukujte.
Komentáře
Článek byl komentován 4x.
-
Radek on
St, 9th Zář 2009 5:13 am
-
Kazzan on
Út, 15th Zář 2009 3:19 pm
-
Berka on
St, 16th Zář 2009 8:16 pm
-
Kazzan on
Ne, 6th Čer 2010 10:07 pm
„Vyžadujete při vysypávání koše varování, že pokud ty věci vhodíte do kontejneru, přijdete o ně?“
Přesně! Není nic otravnějšího než otázka, která začíná slovy „Opravdu si přejete…“. Nezbývá mi, než opět odkázat na můj oblíbený článek: http://www.alistapart.com/articles/neveruseawarning/
Kéž by pro někoho byla priorita naimplementovat undo v našich webových aplikacích.
Dík za pěkný článek.
Osobně mám rád ty chybová hlášení, která jsou srozumitelná běžným uživatelům a zároveň poskytnou náhled profesionálovi na to, co se asi stalo. Aneb nejhorší je, pokud aplikace hodí okno „Warning“ s obsahem „Chyba“.
Například u příkladu dvě, bych pokládal za ideální zobrazit podobnou zprávu jakou navrhujete, a menším písmem například do závorky (nebo tlačítko podrobnosti) vypsat i onu původní zprávu.
PS1: Klapce? To jsem dlouho neslyšel ![]()
PS2: První, co se z chybových hlášení maže je „kontaktujte administrátora“
[kazzan]
– Nabízím tady všem tykání.
– Moc nerozumím pojmu profesionál. Za profesionála považuji třeba účetní nebo muzikanata, který používá účetní nebo hudební software. To jsou uživatelé. Profesionálem ale asi myslíš administrátora, podporu nebo třeba vývojáře. Při formulaci hlášky je nejdůležitější si uvědomit, kdo by měl daný problém vyřešit. Jestli chci, aby ta účetní před uložením souboru mu dala nějaké jméno, pak tam výpis zásobníku fakt nemá co dělat (i takový software jsem viděl). Samozřejmě že když aplikace neočekávaně spadne, řekneme účetní, ať zavolá správce a hláška je psána pro admina (tady je zásobník na místě).
– Příklad dvě: každá chyba má nějaký odpovídající stav uvnitř aplikace (model). Důležité je ale, co ta chyba ve skutečnosti znamená a to by se mělo zobrazit (view). V autě vás také zajímá jen že vám došel benzín a ne, že čidlo xy hlásí, že naměřilo hodnotu menší než 0,05.
– PS1: I já jsem klapku dlouho nepoužil. Chtěl jsem naznačit, že jde o velmi interní konkrétní kontakt.
– PS2: To nevím. Jestli je to jediný člověk, který může pomoci s problémem, měl by tam být uvedený. My nasazujeme řešení, která když stojí, je to obrovská ztráta. Každá minuta drahá. A pak tam administrátor uvedený rozhodně je (a rovnou mu to pošle SMM nebo mail. Ale toto je jen příklad, nutně je zjednodušený).
- Byl jsem zde poprvé.
- Ve své podstatě to tak bylo myšleno (profesionál ve smyslu počítačového, tedy opaku běžného uživatele). Jak jsi správně podotknul, je důležité zaměřit se na cílovou skupinu. Dle mého tedy aby bylo možno chybu vysvětlit uživateli, tak osvětlit její příčinu administrátorovi, přesně jak píšeš, možná to z mého krátkého komentáře nyblo pochopitelné.
- Inu to byl právě příklad k předchozímu, sic extremní. Pokud by ovšem byla porucha většího rázu, řidiče potěší „Porucha motoru, zajeďte do servisu“, servisáka ovšem, co mu řekne diagnostika, že šoupátko X dosahuje Y. ![]()
- U nás ji naposled použil ředitel. Při odchodu do důchodu, pak už ji nikdo nikdy nepoužil. ![]()
- Ano, tak samozřejmě, že administrátor jistě bdí v dohledovém centru. U enterprise aplikací je to samozřejmě něco jiného než u nižších segmentů. Nic neirituje jako zobrazení „obraťte se na administrátora“, pokud u toho v pozici administrátora sedíte.
Pokud chceš mít u svých příspěvků obrázek, zaregistruj se na gravataru!