Jump to content

DevOps, o kterém většina začne špatně – a jak se vyhnout chybám

From Babylon SIGNALIS Wiki

Kombinace obou přístupů: jak je propojit bez zbytečných chyb Největší síla přichází, když Grid a Flexbox zkombinujete. Použijte Grid pro rozvržení celé stránky, ale uvnitř jednotlivých sekcí (například hlavička nebo patička) nasaďte Flexbox pro zarovnání vnitřních prvků. Tím získáte čistou strukturu i pružné detaily. Typická chyba je používat Flexbox pro celoobrazovkový layout – pak musíte složitě řešit mezery a zarovnání napříč řádky, což Grid zvládne nativně. Naopak Grid pro malé komponenty, jako je tlačítko s ikonou, je zbytečně robustní a komplikovaný.

Další pastí je míchání nesouvisejících změn barvy stěn do obýváku jednoho commitu. Pokud opravujete chybu a zároveň přejmenováváte proměnné, vznikne z toho nepřehledná směs. Budoucí čtenář nebude schopen rozlišit, co je podstatné. Dělejte menší commity, každý zaměřený na jednu logickou jednotku. Pokud potřebujete provést více změn, rozdělte je do více commitů, i kdyby to znamenalo více práce navíc. Historii pak lze a případně vracet zpět.

Flexbox využijte pro distribuci prostoru v rámci jednoho řádku. Klasickým příkladem je hlavička s logem a navigací. Naboďte kontejneru display: flex; a pomocí justify-content: space-between rozmístěte prvky od kraje ke kraji. Pro vertikální centrování použijte align-items: center;. Flexbox vyniká v tom, že prvkům umožňuje měnit velikost na základě dostupného místa – flex: 1 1 auto; způsobí, že se prvky rovnoměrně roztáhnou. Ale nenechte se unést: příliš mnoho flex vlastností v jednom kontejneru vede k nepředvídatelnému chování na malých obrazovkách, proto testujte na skutečných zařízeních.

Častou chybou je, že se retrospektiva zaměří pouze na negativa. Přidejte proto povinnou část „Co nám funguje a proč?". Požádejte každého, aby uvedl jednu věc, kterou chce zachovat, a jednu, kterou chce zlepšit. Tím podpoříte pozitivní atmosféru a zabráníte tomu, aby se z týmu stal věčný kritik. Nezapomeňte také na akční kroky: každý návrh musí mít konkrétního vlastníka a termín. Bez toho se retrospektiva stane jen cvičením z komunikace.

Když aplikace začne fungovat, dostaví se pokušení přidávat funkce donekonečna. To je past. Udržujte jádro malé a stabilní. Místo nových tlačítek se zaměřte na optimalizaci výkonu: naučte se profilovat paměť a CPU, používejte lazy loading pro seznamy a minimalizujte práci na hlavním vlákně. Typická chyba je ukládat velká data do paměti – raději sáhněte po databázi nebo souborech.

Nejčastější chybou je vybrat licenci podle popularity, ne podle skutečného použití. Když váš projekt používá knihovny s konkrétní licencí, musíte zkontrolovat, jestli jsou navzájem slučitelné. Například kód pod GNU GPL nelze bez dalších opatření kombinovat s kódem pod licencí, která obsahuje další omezení. Před publikováním si projděte závislosti a jejich licence – ideálně pomocí automatického nástroje, který prohledá celý strom závislostí. Pokud některou knihovnu používáte jen interně, neznamená to, že na ni licence nemá vliv.

Myslete také na kontext. Commitová zpráva není místo pro kompletní dokumentaci, ale měla by obsahovat odkazy na související úkoly nebo čísla ticketů, pokud je to ve vašem týmu zvykem. Důležité je, aby čtenář okamžitě pochopil, k čemu se změna vztahuje. Nepoužívejte ale zkratky bez vysvětlení – „oprava #123" neřekne nic, pokud čtenář nemá přístup k systému. Raději napište „oprava výpočtu daně (ticket #123)".

Další praktický bod: jak chcete, aby váš projekt vypadal na GitHubu nebo GitLabu? Důležitý je nejen samotný text licence, ale i hlavičky v souborech. Mít licenci pouze v kořenovém adresáři nestačí, pokud přebíráte kód z více zdrojů. U každého souboru by mělo být jasné, kdo je autorem a pod jakou licencí je zveřejněn. To oceníte hlavně ve chvíli, kdy někdo přijde s připomínkou, že jste porušili cizí práva. Bez hlaviček je dohledávání původu velmi pracné a může vést k právním problémům.

Začněte tím, že si ujasníte, co chcete vyřešit. DevOps má smysl, pokud potřebujete zkrátit dobu nasazení, zlepšit stabilitu nebo snížit tření mezi vývojáři a operátory. Napište si konkrétní problém, který chcete odstranit. Například: „Nasazení trvá dva dny a každé selže." Pak teprve vyberte nástroje, které to řeší. Pokud nemáte jasný cíl, žádná automatizace vám nepomůže – jen přidá složitost.

Než odešlete kód barvy stěn do obýváku produkce, projděte si kontrastní scénáře. Zkuste stránku zúžit na 320 pixelů a rozšířit na 1920 pixelů. Všimněte si, jestli se obsah nepřekrývá, nejsou vodorovné skrolly a mezery mezi prvky jsou konzistentní. Většina chyb pramení z kombinace pevných šířek a procent, proto používejte jednotky fr (u Gridu) a procenta či auto (u Flexboxu). Pokud si osvojíte pravidlo „Grid pro strukturu, Flexbox pro detaily", vyhnete se zbytečným konfliktům a vaše rozvržení bude srozumitelné a snadno udržovatelné.