První test před psaním kódu, nebo po něm?
Největší past je asynchronní kód. Když se zarážka zastaví uvnitř promise nebo časovače, zásobník volání už dávno neodpovídá tomu, co jste očekávali. Prohlížeče dnes umí zobrazit i asynchronní zásobník, ale musíte si ho zapnout, jinak vidíte jen prázdný seznam. Další častá chyba je ladění v produkční verzi, kde je kód minifikovaný. Zdrojové mapy to řeší, ale jen když jsou správně vygenerované a dostupné. Bez nich se v zastaveném kódu nevyznáte a názvy proměnných jsou jednopísmenné.
Poslední věc, kterou je potřeba hlídat, je ukončení procesu. Kontejner žije tak dlouho, dokud běží jeho hlavní proces. Pokud aplikaci spustíte na pozadí, kontejner okamžitě skončí. Stejně tak ji nespouštějte pod nástrojem pro správu služeb, který sám od sebe přebírá řízení. Do obrazu patří jen jedna odpovědnost a jeden proces v popředí. Když to dodržíte, budou se kontejnery chovat předvídatelně a ladění se zkrátí na minimum.
Délka funkcí a zanoření rozhoduje o tom, kolik toho musí člověk udržet v hlavě. Snaž se, aby funkce dělala jednu věc. Když má v sobě tři úrovně if a dva cykly, rozděl ji. Předčasný návrat (early return) často zploští logiku víc než cokoli jiného. Místo vnořených podmínek kontroluj krajní případy na začátku a zbytek nech lineární.
CSS vybírá prvky pomocí selektorů. Třída (.nazev) je přesnější než značka (p) a měla by se používat pro opakující se vzhled. Identifikátor (#nazev) patří jen tam, kde je prvek na stránce opravdu jeden. Kaskáda znamená, že pozdější pravidlo přebije dřívější, pokud má stejnou specificitu.Proto se vyhýbej zbytečnému !important — je to past, která se vymstí při další úpravě. Barvy a rozměry se dají psát v px, rem nebo procentech. Pro přizpůsobení různým obrazovkám se hodí relativní jednotky a media queries.
Testy nejsou volitelné, pokud chceš kód měnit. I pár malých testů na klíčové funkce odhalí regrese dřív, než se dostanou do produkce. Názvy testů piš jako věty: „vrací nulu pro prázdné pole". Když test selže, má být jasné, co je špatně. Čistý kód není o dokonalosti, ale o tom, že druhý člověk (nebo ty za měsíc) pochopí záměr bez luštění.
Běžící kontejner není virtuální stroj Hlavní rozdíl pocítíte, když se do kontejneru dostanete. Proces, který v něm běží, je vidět i z hostitelského systému. Pokud tedy aplikace naslouchá na portu, musíte ho z kontejneru zveřejnit, jinak na něj zvenčí nedosáhnete. Mapování portů se zapisuje ve tvaru dvou čísel oddělených dvojtečkou, přičemž první patří hostiteli a druhé kontejneru. Záměna těchto dvou hodnot je klasická chyba, po které aplikace „neodpovídá", i když logy uvnitř vypadají v pořádku.
Častá chyba je předčasná optimalizace a zbytečné abstrakce. Není třeba vytvářet třídu pro něco, co je funkce o pár řádcích. Další častý problém je mutování vstupů: funkce, která mění pole předané zvenčí, je past. Vracej novou hodnotu, nebo to alespoň jasně pojmenuj. Stejně tak se vyhýbej globálním proměnným, které se mění na dálku a nikdo neví odkud.
Než začnete řešit sítě a svazky, pochopte vrstvy obrazu. Každý zápis do souborového systému vytvoří novou vrstvu a ty se ukládají do mezipaměti. Když v souboru s předpisem pro sestavení změníte jediný řádek vysoko, všechny následující vrstvy se přestaví znovu. Proto se příkazy pro instalaci závislostí vkládají před kopírování zdrojových kódů. Tím se doba sestavení zkrátí z minut na sekundy. Toto pravidlo je nejčastější důvod, Https://crabcodex.Com proč někomu sestavení trvá pořád stejně dlouho.
Kód, který funguje, ještě nemusí být dobrý. Čitelný kód se dá měnit bez strachu, že se něco rozbije na jiném místě. Základ je pojmenovávání: proměnná data nic neříká, aktivniUzivatele ano. Funkce spocitejCenu je lepší než vypocet. Pokud název potřebuje komentář, je pravděpodobně špatný. Vyhýbej se zkratkám, které znáš jen ty. Platí to i pro jednopísmenné názvy mimo jednoduché cykly.
Jak vypadá první test v praxi Struktura testu má tři části, které se často označují jako příprava, akce a ověření. V přípravě nastavíte vstupní data a případné pomocné objekty. V akci zavoláte testovanou funkci přesně jednou. V ověření zkontrolujete výsledek. Právě v ověření dělají začátečníci nejčastější chybu: testují příliš mnoho najednou. Jeden test by měl ověřovat jednu vlastnost. Pokud potřebujete ověřit tři různé vstupy, napište tři testy. Budou čitelnější a při selhání hned uvidíte, co se rozbilo.
Po spuštění testu se nebojte, když napoprvé selže. Selhání je informace. Zkontrolujte, zda jste správně nastavili vstup, zda funkce vrací hodnotu a ne jen vypisuje na obrazovku, a zda porovnáváte správný typ. Častou chybou je porovnávání celého objektu místo jedné vlastnosti, což vede k nejasným chybovým zprávám. Další častou chybou je závislost na systémovém čase nebo náhodě. Pokud to jde, tyto hodnoty do funkce vložte jako parametr, aby byl test opakovatelný.
Should you loved this article and you would like to receive more information concerning podívejte se generously visit our own internet site.