Jak propojit design a kód: UI/UX základy pro vývojáře

Na co si dát pozor při psaní testů Nejčastější chybou bývá testovat implementaci místo chování. Pokud test kontroluje, jak přesně funkce interně pracuje, stává se křehkým a každá změna kódu ho rozbije, i když je výsledek stále správný. Testujte tedy vstupy a výstupy, nikoliv vnitřní proměnné. Dalším častým problémem je používání reálných časů, náhodných hodnot nebo síťových volání přímo v testech – takové testy jsou pomalé a někdy i nespolehlivé. Řešením je tyto závislosti nahradit falešnými objekty, tzv. mocky, nebo alespoň testovat s pevně stanovenými daty.

Prvním krokem je osvojit si rozdíl mezi UI a UX. UI, neboli uživatelské rozhraní, se týká vizuální stránky – barev, typografie, tlačítek, ikon a jejich rozmístění. UX neboli uživatelská zkušenost zahrnuje celkový pocit z používání produktu – jak snadno uživatel najde to, co hledá, jak rychle dokončí úkol a jestli se u toho nezasekne. Jako vývojář nemusíte navrhovat, ale měli byste umět rozpoznat, kdy návrh porušuje základní principy – třeba když tlačítko pro akci nemá dostatečný kontrast nebo když je navigace nelogická. To vám umožní včas upozornit na problém, místo abyste slepě kódovali něco, co uživatele odradí.

Užitečnost pokrytí klesá, když začnete řešit čísla místo chování. Pokud máte 85% pokrytí a strávíte dny snahou dostat se na 90 %, jen abyste splnili interní normu, ztrácíte čas. Stejně tak je kontraproduktivní psát testy pro triviální gettery a settery jen proto, aby číslo rostlo. Pokrytí přestává být užitečné, když vám neřekne nic o rizikových místech. Například pokud máte kritický platební modul s pokrytím 60 %, ale zbytek aplikace má 95 %, je to varovný signál. Naopak pokud máte nízké pokrytí v administrativním rozhraní, které se týká jen interních uživatelů, nemusí to být problém.

Na závěr si zvykněte na pravidelnou revizi. Jazyky se vyvíjejí, přidávají se nové funkce, a tak je nutné průběžně doplňovat chybějící klíče. Vytvořte si proces, kdy při každém přidání nové funkce je povinností dodat i překlady pro všechny jazyky. Pokud to nejde, alespoň použijte fallback na výchozí jazyk, ale jen dočasně. Cílem je, aby měl každý uživatel konzistentní zážitek bez ohledu na to, jakým jazykem mluví. Tím se vyhnete nejen technickým problémům, ale i nepříjemným situacím, kdy se uživatel cítí jako občan druhé kategorie.

Jak měřit pokrytí, aby dávalo smysl Základní metrikou je řádkové pokrytí, které říká, kolik řádků kódu bylo spuštěno při běhu testů. Tento údaj získáte snadno pomocí nástrojů jako Istanbul pro JavaScript nebo JaCoCo pro Javu. Ale pozor na past: 100% řádkové pokrytí neznamená, že je kód bez chyb. Mnohem důležitější je pokrytí větví, které ověřuje, zda byly testovány obě cesty v podmínkách (true i false). Pokud máte složité podmínky, sledujte i pokrytí podmínek, které kontroluje jednotlivé výrazy v logických operátorech. Pro praktické použití doporučuji kombinovat řádkové a větvové pokrytí, protože řádkové může snadno maskovat netestované větve.

Další důležitý krok je verze infrastruktury. Ať už používáte kontejnery, virtuální stroje nebo jen skripty, zapište vše do kódu. Takzvané Infrastructure as Code vám umožní popsat prostředí v souborech, které můžete kontrolovat, verzovat a snadno obnovit. Nezačínejte s něčím složitým, jako je orchestrace celého clusteru. Stačí, když budete mít popis, jak má vypadat server pro testování. Tím se vyhnete situaci, kdy nikdo neví, co je na produkci nainstalované a proč to funguje.

Dalším častým problémem je odhadování v týmu s rozdílnými zkušenostmi. Méně zkušený vývojář odhaduje déle, ale jeho odhad může být nepřesný. Řešením je týmový odhad, kde se sejdou všichni, kdo budou na úkolu pracovat, a používají metody jako Planning Poker. Tím eliminujete vliv jednoho názoru a získáte konsenzus. Pozor ale na tzv. „anchoring” – pokud první řečník řekne nízké číslo, ostatní se mu podvědomě přizpůsobí. Proto nechte každého napsat odhad tajně na lísteček a teprve poté je otevřete.

Při samotném psaní zdrojových textů myslete na délku. Česká věta je často delší než anglická, a pokud máte tlačítko s pevnou šířkou, text se ořízne. Vždy testujte, jak se překlad chová v extrémních případech — nejdelší slovo, nejdelší věta, nejdelší číslo s jednotkou. Stejně tak pozor na složené výrazy. V češtině skloňujeme, takže věta „Máte 3 nové zprávy” se nedá jednoduše poskládat z částí „Máte” + číslo + „nové zprávy”. Používejte raději celé věty s placeholdery, než abyste spojovali kusy textu podle počtu.

In the event you loved this post and you would love to receive much more information about discuss i implore you to visit our web site.

Leave a Comment

Your email address will not be published. Required fields are marked *