Když vybíráte open source licenci, rozhoduje účel i komunita

Aus Rettungsdienst-Wiki
Zur Navigation springen Zur Suche springen

Častou pastí je přidávání funkcí, které nikdo nechce. Máte nápad na tlačítko „Sdílet na sociální sítě"? Zeptejte se, kdo ho využije a proč. Nadbytečné prvky vytvářejí vizuální šum, který odvádí pozornost od hlavního úkolu. Místo toho se zaměřte na to, aby byla primární cesta uživatele co nejkratší – třeba registrace bez zbytečných povinných polí. Uživatelé oceňují rychlost, ne bohatost možností. Pokud musíte přidat složitou funkci, rozdělte ji na kroky a vysvětlete každý krok.

Jak poznat, že testů je příliš mnoho a začínají škodit Prvním varovným signálem je doba běhu celé sady. Pokud vám integrační testy trvají desítky minut, přestanete je spouštět před commitem a začnou se plnit chyby až po sloučení. To je nejdražší forma zpětné vazby. Druhým signálem je časté přepisování testů kvůli změnám, které s testovanou funkcí nesouvisí – typicky změna schématu databáze nebo konfigurace. Třetím signálem je, že testy začínají být závislé na pořadí spuštění nebo sdíleném stavu. To už nejsou testy, ale zdroj chaosu.

Praktický postup pro vyvážení vypadá takto: nejprve si definujte, které části kódu jsou stabilní a kritické – tam integrační testy nasaďte a chraňte je. Pro nestabilní a rychle se měnící části nechte jen jednotkové testy, které pokrývají klíčové scénáře. Zavedte si pravidlo, že každý nový integrační test musí být odůvodněný – pokud nenacházíte konkrétní chybu, kterou by jednotkový test neodhalil, nepřidávejte ho. A hlavně pravidelně měřte dobu běhu a počet testů, které selhávají bez souvislosti se změnami v kódu.

Nakonec si osvojte práci s ověřením schématu odpovědi – místo kontroly každé položky zvlášť použijte knihovnu ajv nebo pm.expect s předem definovaným JSON schématem. Tím pokryjete celou strukturu odpovědi a vyhnete se situaci, kdy test projde, ale API vrátilo jiný typ dat, než se čekalo. Testování API není jen o odeslání požadavku a sledování status kódu; je to systematická práce s daty, která vyžaduje pečlivost a pochopení nástroje. S těmito postupy přestanete bojovat s nástrojem a začnete efektivně odhalovat chyby dřív, než se dostanou do produkce.

Když jako vývojář dostanete návrh od designéra, často se soustředíte na funkčnost a technickou proveditelnost. Opomíjíte přitom detaily, které rozhodují o tom, jestli uživatel aplikaci pochopí během tří sekund, nebo ji frustrovaně zavře. Nejčastější chybou není špatný kód, ale absence aktivního přemýšlení o uživatelské zkušenosti. Naučte se dívat na rozhraní očima běžného uživatele, ne očima vývojáře, který zná každou skrytou funkci.

Začněte u mikrokopírování – textů na tlačítkách a hláškách. Místo generického „Odeslat" použijte konkrétní popis akce, třeba „Uložit změny" nebo „Vytvořit účet". Uživatel pak přesně ví, co se stane. Vyhněte se technickým termínům, jako jsou „endpoint" nebo „payload", a nahraďte je lidským jazykem. Typická chyba: chybová hláška „HTTP 500 – Internal Server Error" nic neřekne. Napište „Něco se pokazilo, zkuste to prosím za chvíli" a nabídněte tlačítko pro opakování.

Poslední rada: pyramidu neberte jako dogma, ale jako výchozí bod. U projektu s bohatým uživatelským rozhraním a složitou logikou na klientovi bude poměr jiný než u REST API bez frontendu. Důležité je, abyste se rozhodovali vědomě a ne náhodně. Měřte si dobu běhu, počet selhání a čas strávený údržbou. Jakmile uvidíte, že opravy testů žerou víc času než psaní nových funkcí, je čas pyramidu přebudovat. A to je přesně ten moment, kdy se vyplatí mít na paměti, proč pyramida existuje – ne pro krásu, ale pro efektivitu.

Důležité je také pochopit rozdíl mezi autentizací typu Basic Auth a Bearer Token. V záložce Authorization si vyberte typ, který API skutečně vyžaduje, a tokeny ukládejte do proměnných, nikoliv přímo do požadavku. Pokud API používá OAuth2, nezapomeňte, že token má omezenou platnost – pro dlouhodobé testování je vhodné nastavit v prostředí proměnnou tokenExpiresAt a skript, který token automaticky obnoví. Bez tohoto ošetření budete muset tokeny ručně kopírovat z odpovědí, což je neefektivní a náchylné k chybám.

Další past: testy, které nejsou nezávislé. Pokud jeden test čeká na data vytvořená jiným testem, máte zaděláno na pořádný problém. Jakmile změníte pořadí spuštění, všechno se sype. Řešení je jednoduché – každý test si připraví vlastní data a po sobě uklidí. To platí pro všechny vrstvy pyramidy, ale u E2E je to kritické. Pokud test selže, musíte vědět, že to není kvůli stavu z předchozího testu.

Při výběru konkrétní NoSQL databáze se nespoléhejte na benchmarky z internetu, ale otestujte ji na vlastních datech. Vytvořte si malou aplikaci, která simuluje reálné dotazy, a změřte si odezvu při různé velikosti dat. Věnujte pozornost také tomu, jak databáze řeší zálohování a obnovu dat – v některých NoSQL řešeních je to méně automatické než u SQL. Důležité je také zvážit znalosti vašeho týmu. Pokud programátoři znají SQL a s NoSQL nemají zkušenosti, počítejte s tím, že se naučí nový dotazovací jazyk a nové principy modelování. To je často podceňovaný náklad, který může projekty prodražit.