Když chcete psát v JavaScriptu čistý kód, začněte pojmenováním

Z Mazovia
Wersja z dnia 19:24, 1 paź 2026 autorstwa LeoraDingle1008 (dyskusja | edycje) (Utworzono nową stronę "Proměnné, mutace a kontext V JavaScriptu platí, že čím méně mutací, tím méně překvapení. Používejte const všude, kde to jde, a let jen tam, kde hodnotu skutečně měníte. Vyhněte se var, protože它的 chování je vázané na funkci, ne na blok, a snadno vytvoří chyby, které se špatně hledají. Když předáváte objekt do funkce, neupravujte ho uvnitř, pokud to není její hlavní účel. Vracejte nový objekt nebo použijte spread. U ve…")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Proměnné, mutace a kontext V JavaScriptu platí, že čím méně mutací, tím méně překvapení. Používejte const všude, kde to jde, a let jen tam, kde hodnotu skutečně měníte. Vyhněte se var, protože它的 chování je vázané na funkci, ne na blok, a snadno vytvoří chyby, které se špatně hledají. Když předáváte objekt do funkce, neupravujte ho uvnitř, pokud to není její hlavní účel. Vracejte nový objekt nebo použijte spread. U velkých datových struktur to může být pomalejší, ale čitelnost a předvídatelnost jsou důležitější než ušetřené milisekundy.

Nakonec: čistota není jednorázový úklid, ale návyk. Před každým commitem si přečtěte, co jste napsali, a zkuste to zkrátit, aniž byste ztratili význam. Pokud váháte, zda je kód jasný, přečtěte ho nahlas. Kde se zaseknete, tam bude zaseknutý i kolega. Nástroje jako linter a formátovač nastavte hned na začátku projektu, ne až když je kód plný nekonzistencí. Automatické formátování odstraní hádky o styl a vy se můžete soustředit na logiku.

Komentáře pište jen tam, kde vysvětlují proč, ne co. Kód, který říká, co dělá, je čitelný sám. Pokud musíte vysvětlovat, co funkce dělá, přejmenujte ji. Pokud vysvětlujete, proč je tam okrajová podmínka, komentář má smysl. Také se vyhněte magickým číslům a řetězcům. Místo if (stav === 3) použijte pojmenovanou konstantu STAV_DOKONČENO. A místo http://example.com/api použijte konfigurační proměnnou. Když se hodnota změní, upravíte ji na jednom místě.

Nakonec si nastavte nástroje, které hlídají styl automaticky. Linter odhalí nepoužité proměnné, chybějící středníky nebo nekonzistentní uvozovky. Formátovač sjednotí odsazení a zalamování řádků. Bez toho se budete dohadovat v každé revizi. A hlavně: čistý kód není cíl, je to způsob, jak snížit náklady na změnu. Když se příště budete vracet ke svému kódu, chcete vědět, co dělá, a ne hádat.

Délka funkcí je druhý nejčastější problém. Funkce, která má přes třicet řádků, obvykle dělá víc věcí. Rozdělte ji podle toho, co se v ní děje: načtení dat, transformace, uložení. Každá část by měla jít otestovat samostatně. Vyhněte se vnořeným podmínkám do hloubky. Místo if (a) if (b) if (c) { … } použijte tzv. guard clauses: na začátku funkce ošetřete neplatné stavy a vraťte se. Tím se sníží počet úrovní a kód se čte shora dolů.

Jak sloučit práci, aniž byste si rozbili histor

Kde se chyby opakují nejčastě

Práce s daty je v JavaScriptu častý zdroj chyb. Nepředávejte všude celý objekt, když funkce potřebuje jen jednu vlastnost. Ničíte tím čitelnost a ztěžujete testování. Místo uzivatel předávejte uzivatel.email, pokud jde jen o e-mail. U polí používejte map, filter, reduce místo ručních cyklů for s push. Kód je kratší a méně náchylný k chybám s indexy. Pozor ale na přílišné řetězení – tři operace za sebou se ještě čtou, deset už je nečitelných. Rozdělte je do pojmenovaných kroků.

Čistý kód v JavaScriptu není o estetice, ale o tom, jak rychle dokážete najít chybu a jak snadno někdo jiný pochopí, co jste mysleli. Začněte tím, že budete pojmenovávat věci podle toho, co dělají, ne jak vypadají. Funkce spočtiDaň je lepší než vypocet2. Proměnná aktivníUživatelé je lepší než data. Pokud název potřebuje komentář, je název špatný. Platí to i pro booleany: jePřihlášen, máOprávnění, platíKarta. Vyhněte se zkratkám, které za tři měsíce nepochopíte.

Asynchronní kód je místo, kde se čistota láme nejčastěji. Místo řetězení .then() a .catch() používejte async/await a obalte volání do try/catch. Nikdy nezapomeňte na await u funkce, která vrací promise. Typická chyba je, že zapomenete await a pak se divíte, proč máte v proměnné promise místo dat. Stejně tak nedávejte await do cyklu for, pokud nechcete čekat postupně. Když potřebujete paralelní zpracování, použijte Promise.all.

Funkce a data: méně větví, méně stav