Když nestačí jen šířka: Jak na responzivní layout bez zbytečného CSS

From IT-Core
Jump to navigation Jump to search

Když se termín blíží a vy víte, že to nestihnete Jakmile zjistíte, že se odhad prodlouží, nečekejte na poslední chvíli. Okamžitě kontaktujte zákazníka a vysvětlete situaci konkrétně: co se stalo, co děláte pro nápravu a jaký je nový realistický termín. Vyhněte se frázím typu „omlouvám se, ale něco se pokazilo" – to působí jako výmluva. Místo toho řekněte: „Narazil jsem na problém v části, kterou jsem nepředpokládal, a potřebuji o dva dny více. Udělám maximum, abych to stihl do pátku." Tím dáváte najevo odpovědnost a konkrétní plán.

Prvním krokem je důkladná analýza schématu. MySQL umožňuje automatické přetypování řetězců na čísla nebo používá implicitní konverze, které PostgreSQL odmítá. Typickým příkladem je sloupec typu enum – v PostgreSQL se doporučuje převést na varchar s kontrolním omezením, protože enum zde nelze snadno rozšiřovat. Podobně dopadnou sloupce s nulovými hodnotami a prázdnými řetězci: PostgreSQL rozlišuje NULL a prázdný řetězec, zatímco některé aplikace psané pro MySQL je zaměňují.

Jak zajistit, aby se konfigurace skutečně používala Nejdůležitější je, aby byla konfigurace vynucená automaticky, ne jen doporučená. Zaveďte pre-commit hook, který spustí kontrolu stylu a formátování, a pokud selže, commit se nepovede. Ujistěte se, že je soubor s pravidly součástí projektu od prvního dne, ne až po měsíci, kdy se nasbírají špatné návyky. Dále sjednoťte verze nástrojů – pokud každý má jinou verzi linteru, výsledky se liší. Používejte lockfile pro závislosti a konfigurace, ať je reprodukovatelnost zaručená.

Typickou chybou je, že konfigurace existuje, ale nikdo ji nečte. Když do týmu přijde nový člověk, často si nastaví prostředí podle sebe a až při prvním pushi zjistí, že něco nefunguje. Tomu předejdete tím, že do dokumentace projektu přidáte krátký návod, jak prostředí nastavit, a do CI přidáte kontrolu, která ověří, že se konfigurace shoduje. Pokud nějaký nástroj nejde snadno nakonfigurovat, zvažte, jestli ho vůbec potřebujete.

Další pastí je, když se konfigurace mění často a bez komunikace. Každá změna by měla být v pull requestu, kde ji ostatní vidí a můžou se vyjádřit. Nedělejte změny stylem „quick fix" přímo na mainu, protože to vede k tomu, že někdo má starou verzi a jiný novou. Pokud používáte více větví, nastavte si pravidlo, že konfigurace se mění jen s vědomím celého týmu – jinak se ztratí přehled o tom, co je aktuální.

V neposlední řadě nezapomínejte, že konfigurace je živý dokument. S přibývajícími funkcemi a nástroji ji musíte průběžně aktualizovat. Jednou za čas udělejte revizi: co se používá, co je zbytečné, co chybí. Klidně při tom zapojte celý tým – ať se každý vyjádří, co mu chybí a co mu vadí. Výsledkem je, že se konfigurace stane něčím, co všichni respektují, protože na ní mají podíl.

Živý příklad a schéma jsou důležitější než dlouhý popis Místo rozsáhlých textů o tom, co endpoint dělá, raději ukažte konkrétní request a response ve formátu JSON. Frontendový vývojář si z příkladu okamžitě přečte strukturu dat, včetně typů polí. Pro opakující se objekty (např. uživatel, objednávka) vytvořte sdílená schémata a odkazujte na ně. Tím se vyhnete duplicitnímu popisu a zajistíte konzistenci, když se model změní. Pomocí nástrojů pro kontraktní testování můžete navíc ověřit, že dokumentace odpovídá skutečné implementaci – to je nejspolehlivější ochrana proti zastarávání.

U Flexboxu zase narazíte na zarovnání. Když chcete, aby se položky v řádku roztáhly rovnoměrně, použijte justify-content: space-between – ale pozor, poslední prvek pak ulpí u pravého okraje. Alternativa gap je bezpečnější, protože funguje v obou směrech a nevyžaduje margin hacky. Také si zkontrolujte, že align-items nemá výchozí hodnotu stretch, která roztáhne prvky na výšku – pokud chcete, aby byly nahoře, nastavte flex-start.

Přechod z MySQL na PostgreSQL bývá často podceňovaný. Mnoho týmů předpokládá, že stačí exportovat data, importovat je a upravit pár dotazů. Realita je ale jiná: rozdíly v datových typech, chování transakcí a dokonce i v tom, jak oba systémy řadí text, dokážou připravit nepříjemná překvapení. Pokud se na migraci nepřipravíte, místo plynulého přechodu získáte dny ladění a noční volání kvůli nefunkční aplikaci.

Pamatujte, že zákazník nevnímá jen samotný termín, ale i způsob, jakým o něm mluvíte. Vyhněte se váhání, nejasným formulacím a přílišným omluvám. Buďte struční, ale konkrétní. A pokud je to možné, nabídněte alternativu: „Můžu to udělat rychleji, ale bude to stát víc práce a možná to ovlivní kvalitu. Dáváte přednost rychlosti, nebo důkladnosti?" Tím dáváte zákazníkovi možnost volby a cítí se jako součást rozhodování, místo aby byl pasivním příjemcem slibů.