Jump to content

CSS Grid vs. Flexbox: Kdy které rozložení skutečně použít

From Dusty Ways: Rebirth

Jak si ověřit, že vám jazyk sedne, než do něj investujete měsíce Otevřete si oficiální dokumentaci a zkuste napsat první program podle příkladu. Pokud vám zápis připadá jako řečtina, zkuste jiný jazyk. Důležité je, abyste rozuměli každému řádku, ne jen kopírovali. Dále si najděte tři různé tutoriály na stejné téma – pokud je pochopíte bez hledání dalších zdrojů, máte vyhráno. Pozor na falešné začátečnické jazyky, které sice vypadají jednoduše, ale v praxi vás nenaučí základy, jako jsou proměnné, cykly nebo podmínky.

Když začnete psát jednotkové testy v C# s NUnit, první věc, kterou objevíte, je, že samotné psaní testů není to nejtěžší. Největší úskalí přichází ve chvíli, kdy se testy začnou navzájem ovlivňovat a vy ztrácíte přehled o tom, co vlastně testujete. Typická chyba začátečníků? Sdílení stavu mezi testy. Pokud použijete statickou proměnnou, která se mění v jednom testu a ovlivní výsledek druhého, přestanou být testy izolované. A izolace je základní princip, bez kterého se jednotkové testy mění v noční můru.

Než odešlete kód do 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é.

Když zvolíte NoSQL, počítejte s tím, že se vzdáváte univerzálního jazyka Relační databáze mají jednotný dotazovací jazyk SQL, který ovládá každý vývojář. U NoSQL neexistuje žádný standard. Každý typ databáze – dokumentová, sloupcová, grafová – používá jinou syntaxi a jiné API. To znamená, že pokud začnete s jednou implementací a později zjistíte, že nevyhovuje, přechod na jinou NoSQL databázi je prakticky kompletní přepsání datové vrstvy. Připravte se na to, že budete muset studovat dokumentaci a testovat dotazy, které v SQL zvládnete intuitivně.

Jazyk byste měli měnit pouze v případě, že vám dlouhodobě nevyhovuje způsob myšlení, který vyžaduje. Například pokud vás nebaví psát deklarace typů, vyhněte se Javě. Když nesnesete složené závorky, raději zvolte Python. Nejdůležitější je, abyste se k jazyku vraceli denně, ideálně 20–30 minut. Pravidelnost porazí dávkování – lepší je každý den hodinu než jednou týdně sedm hodin.

Nespoléhejte na pořadí testů ani na sdílená data NUnit spouští testy v náhodném pořadí, pokud to výslovně nenastavíte. To je dobré, protože to odhalí právě závislosti mezi testy. Pokud máte test, který předpokládá, že před ním proběhl jiný test a připravil data, dříve nebo později narazíte na selhání, které se nedá reprodukovat. Řešení je jednoduché: každý test si musí vytvořit vlastní data a vlastní instance tříd. Používejte metody SetUp a TearDown, ale dejte pozor, aby i tyto metody byly nezávislé. Častý omyl je ukládat data do statických polí ve třídě testů – to je cesta do pekel.

Než začnete hledat konkrétní jazyk, položte si dvě otázky: co chcete tvořit a jak dlouho vydržíte u nudných základů. Webová aplikace, datová analýza, automatizace nebo hra – každá oblast má svého favorita. Pokud zatím nevíte, zkuste univerzální jazyk, který vám umožní přejít jinam, aniž byste začínali od nuly. Typická chyba začátečníka je vybrat si jazyk podle popularity, ne podle toho, co ho baví. Python sice dominuje v kurzech, ale pokud vás láká vývoj mobilních aplikací, budete se trápit.

Typickou chybou je také spoléhat se na přesné porovnávání desetinných čísel. Když testujete výpočty s plovoucí řádovou čárkou, výsledek může být 2.9999999 místo 3. Místo toho použijte tolerance, třeba metodu Is.EqualTo(...).Within(0.001). Podobně si dejte pozor na porovnávání řetězců s mezerami na konci – NUnit je sice porovnává přesně, ale pokud ignorujete prázdné znaky, snadno přehlédnete chybu. Vždy používejte odpovídající constrainty a ne jenom Assert.IsTrue s podmínkou, kterou si sami napíšete.

Shrňme si to: NoSQL je výkonný nástroj, ale jeho použití má smysl pouze tehdy, když rozumíte jeho omezením. Nevybírejte ho podle popularity, ale podle konkrétních požadavků na škálování, flexibilitu schématu a rychlost vývoje. Pokud váháte, zkuste nejprve prototyp s malým objemem dat a otestujte, jak vám vyhovuje modelování bez pevných tabulek. Často zjistíte, že SQL vám postačí a NoSQL přidá jen zbytečnou složitost. A pokud se rozhodnete pro NoSQL, investujte čas do studia jeho specifik – ušetříte si tím později spoustu bolesti při ladění výkonu.