Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

Retrospektiva, která nic nevyřeší? Tady je důvod a cesta ven

De PCU WIKI

Výběr správného vývojového prostředí (IDE) pro Python může rozhodnout o tom, jak rychle a bez chyb dokončíte svůj projekt. Špatná volba neznamená jen nepohodlí při psaní kódu – často vede k plýtvání časem, a frustraci. Než začnete stahovat první nástroj, který vás napadne, věnujte deset minut promyšlení, co od prostředí skutečně potřebujete. Základní otázka zní: píšete krátké skripty, nebo vyvíjíte větší aplikace s více soubory a testy?

Prvním krokem je osvojit si základy testovacího procesu. Naučte se rozdíl mezi funkčním, regresním a explorativním testováním. Pochopte, co je testovací případ, hlášení chyby a jak vypadá reprodukce problému. K tomu nepotřebujete drahé kurzy. Vystačíte s veřejně dostupnými materiály a cvičnými aplikacemi. Důležité je, abyste si vše hned vyzkoušeli – teorie bez praxe vás nikam nedostane.

Pro začátek si rozmyslete, jaké funkce budete reálně používat. Pokud jen testujete malé úryvky kódu, vystačíte si s jednoduchým editorem s integrovaným terminálem. Naopak pro práci s virtuálními prostředími, laděním (debugging) nebo verzováním se vyplatí plnohodnotné IDE, které tyto nástroje umí propojit. Typickou chybou je instalovat nejtěžší a nejfunkčnější prostředí hned na začátku – pak trávíte hodiny nastavováním pluginů a konfigurací, místo abyste psali kód. Ideální postup: zjistěte, jaké knihovny a frameworky budete používat, a podle toho vyberte nástroj, který je podporuje nativně.

Při psaní životopisu se vyhněte obecným frázím jako „jsem pečlivý a zodpovědný". Místo toho uveďte konkrétní příklad: „Objevil jsem chybu v registračním formuláři na webu X, kde se po odeslání neukázala potvrzovací zpráva, což jsem zdokumentoval a ověřil na dvou prohlížečích." Taková formulace má mnohem větší váhu. Typickou chybou začátečníků je také bagatelizování chyb, které se nepotvrdí. Vždy je testujte na více místech a zařízeních, než je nahlásíte. Pokud si nejste jistí, raději se zeptejte, než abyste slepě kopírovali cizí postupy.

Pamatujte také na testování sítě. Mobilní aplikace se používají na cestách, v metru, na venkově, kde je signál slabý nebo nestabilní. Proto je důležité testovat chování aplikace při pomalém připojení, při výpadku sítě a při přepnutí z Wi-Fi na mobilní data. Vytvořte si testovací scénáře, které simulují tyto podmínky pomocí nástrojů pro omezení šířky pásma nebo emulaci zpoždění. Ujistěte se, že aplikace uživatele informuje o probíhajícím načítání, nedochází ke ztrátě vstupů a po obnovení připojení se data synchronizují bez chyb.

Další cestou je dobrovolnické testování pro menší firmy nebo začínající e-shopy. Napište jim nabídku, že otestujete jejich web za výměnu za zpětnou vazbu. Mnoho majitelů malých projektů uvítá nezávislý pohled. Nepodepisujte ale nic, co by vás zavazovalo k mlčenlivosti na dlouhou dobu, pokud nechcete, aby vám to zkomplikovalo budoucí hledání práce. Vše si pečlivě přečtěte.

Destrukce a template literály zjednodušují práci s objekty a řetězci. Místo ručního přiřazování vlastností můžete psát `const name, age = user;` – to ušetří řádky a zlepší čitelnost. U vnořených objektů ale dejte pozor na defaultní hodnoty: pokud vlastnost neexistuje, destrukce hodí chybu. Použijte `const name = 'Neznámý' = user;` nebo pro vnořené objekty `const address: city = {} = user;`. Template literály zase umožňují vkládat výrazy přímo do řetězce – ` $user.name ` – ale nepřehánějte to s komplexními výrazy uvnitř, je lepší je předpočítat do proměnné pro čitelnost.

Nakonec si osvojte práci s promisemi a async/await. Async/await je syntaktický cukr nad promisemi, ale úložné prostory v malém bytěýrazně zjednodušuje čtení asynchronního kódu. Místo řetězení `.then()` píšete sekvenční kód s `await`. Chyby ale musíte ošetřit pomocí `try/catch` – pokud await selže a nemáte catch, aplikace spadne. Nezapomeňte, že `await` funguje pouze v async funkcích, takže pokud ho potřebujete na nejvyšší úrovni v modulu, použijte tzv. top-level await (v moderních prohlížečích a Node.js). Pozor na paralelní volání: pokud na sobě nezávisí, použijte `Promise.all`, jinak čekáte sekvenčně a zbytečně prodlužujete dobu běhu.

Retrospektiva týmu často skončí u tří vět: „Vše bylo dobré", „Trochu nám to skřípalo" a „Musíme to zlepšit". Příště se pak sejdete s vědomím, že se nic nezmění, a vy i kolegové začnete schůzku vnímat jako nutné zlo. Problém přitom nebývá v tom, že by lidé nechtěli mluvit, ale v tom, že nemají žádný rámec, jak své postřehy formulovat. Strukturovaná zpětná vazba mění chaotickou výměnu názorů v konkrétní akce, které mají šanci přežít až do dalšího sprintu.