Python je pro automatizaci vhodný z několika konkrétních důvodů: čte se podobně jako angličtina, má obrovskou základní knihovnu a většina systémů ho už má nainstalovaný. Nepotřebuješ žádné vývojové prostředí za tisíce, stačí terminál a textový editor. Začni tím, že si ověříš, jakou verzi máš k dispozici příkazem python3 --version. Pokud se vypíše číslo 3.8 a vyšší, můžeš pokračovat. Když příkaz selže, nainstaluj Python z oficiálního instalátoru pro svůj operační systém a při instalaci na Windows zaškrtni volbu přidání do systémové proměnné PATH, jinak budeš muset příkazy spouštět přes celou cestu.
Základní pravidlo zní: pokrytí měřte tam, kde může selhání způsobit reálnou škodu. Platební logika, výpočty, validace vstupů nebo stavové automaty si vysoké pokrytí zaslouží. Naopak jednoduché gettery, konfigurační konstanty nebo automaticky generovaný kód nemá smysl honit na sto procent. Pokud tým tráví čas psaním testů jen proto, aby v reportu svítilo vyšší číslo, přesunul se od kvality k vanity metrice.
První automatizace nemá být přepisování celé firmy. Vyber si jednu opakující se nudnou činnost, kterou děláš alespoň několikrát týdně: přejmenování souborů, slévání tabulek, stahování dat, posílání příloh. Napiš skript, který ji zvládne za tebe, a spusť ho ručně. Teprve když funguje spolehlivě, můžeš ho nechat běžet naplánovaně. Typická chyba začátečníka je, že rovnou řeší velký projekt a po dvou dnech narazí na neznámou knihovnu a skončí. Malý hotový skript tě naučí víc než nedokončený velký.
Typická chyba je tichý posun. Když zjistíte, že to nestíháte, čekáte, jestli to doženete, a zákazníkovi to řeknete, až když je pozdě. To je horší než původně špatný odhad. Informaci o posunu dodejte ve chvíli, kdy ji máte, spolu s novým odhadem a důvodem. Zákazník nesnáší překvapení víc než zpoždění. Pokud mu dáte čas zareagovat, často si sám upraví priority nebo ubere rozsah.
Typy se vyplatí u hranic systému: na vstupech z formulářů, v odpovědích z API, v parametrech funkcí a v datech, která se ukládají. Naopak u jednorázové transformace pole nebo u krátké pomocné funkce můžete typ nechat odvozený a kód bude čitelnější. Typický začátečník popíše typem úplně všechno, včetně lokální proměnné, a výsledek je horší než původní JavaScript. Praktické pravidlo: pište typy tam, kde se data předávají mezi částmi aplikace, a nechte odvozování tam, kde je hodnota vidět na pár řádcích.
Knihovny, které ti ušetří hodiny, a jak je nepoužít špatně Pro práci se soubory a cestami používej pathlib místo ručního skládání řetězců. Pro tabulky je základ pandas — načte CSV nebo Excel, přepočítá sloupce a uloží výsledek. Pro stahování stránek requests, pro parsování HTML BeautifulSoup. Pro opakované úlohy na pozadí schedule nebo plánovač operačního systému. Všechny tyto knihovny nainstaluješ příkazem pip install do virtuálního prostředí, které si vytvoříš přes python3 -m venv. Bez virtuálního prostředí si postupně rozbiješ systémové balíčky a budeš hledat chybu, která vznikla úplně jinde.
Asynchronní kód je další místo, kde vzniká zmatek. Nemíchejte async/await s .then() v jedné funkci. Zvolte jeden styl a držte se ho. U await vždy myslete na chyby – obalte volání do try/catch, nebo použijte pomocnou funkci, která vrací dvojici hodnot. Nikdy nenechávejte odmítnutý promise bez ošetření, jinak dostanete tichý pád, který se hledá těžko.
Nejrychlejší způsob, jak se posunout, je číst cizí skripty a rozebírat je řádek po řádku. Když narazíš na neznámou funkci, otevři dokumentaci a zjisti, co dělá a jaké má vstupy. Po několika týdnech takového čtení přestaneš kopírovat hotová řešení a začneš skládat vlastní. Automatizace v Pythonu není o tom naučit se celý jazyk, ale o tom vyřešit konkrétní problém a mít ho hotový dřív, než bys ho stihl udělat ručně.
Pokrytí přestává být užitečné ve chvíli, kdy se stane cílem místo nástrojem. Jakmile tým píše testy kvůli reportu, přestává řešit, co má být ověřeno. Stejně tak ztrácí smysl, když se jím poměřují lidé nebo když se porovnávají nesrovnatelné projekty. Číslo bez kontextu neřekne nic o tom, zda je software spolehlivější. Říká jen, kolik řádků bylo spuštěno.
Na co si dát pozor: absolutní cesty v kódu. Skript, který funguje na tvém počítači, spadne na jiném, protože cesta začíná jménem tvého uživatele. Používej relativní cesty nebo proměnné prostředí. Dále neošetřené výjimky — když skript narazí na chybějící soubor nebo nedostupnou síť, má skončit srozumitelnou zprávou, ne dvaceti řádky tracebacku. A nakonec: neukládej do kódu přihlašovací údaje ani klíče. Patří do souboru, který není součástí repozitáře, nebo do proměnných prostředí.
Add new comment