Przejdź do zawartości
Menu główne
Menu główne
przypnij
ukryj
Nawigacja
Strona główna
Ostatnie zmiany
Losowa strona
Pomoc z MediaWiki
Mazovia
Szukaj
Szukaj
Utwórz konto
Zaloguj się
Narzędzia osobiste
Utwórz konto
Zaloguj się
Strony dla anonimowych edytorów
dowiedz się więcej
Edycje
Dyskusja
Edytujesz
Když chcete psát v JavaScriptu čistý kód, začněte pojmenováním
Strona
Dyskusja
polski
Czytaj
Edytuj
Edytuj źródło
Wyświetl historię
Narzędzia
Narzędzia
przypnij
ukryj
Działania
Czytaj
Edytuj
Edytuj źródło
Wyświetl historię
Ogólne
Linkujące
Zmiany w linkowanych
Strony specjalne
Informacje o tej stronie
Uwaga:
Nie jesteś zalogowany. Jeśli wykonasz jakąkolwiek zmianę, Twój adres IP będzie widoczny publicznie. Jeśli
zalogujesz się
lub
utworzysz konto
, Twoje zmiany zostaną przypisane do konta, wraz z innymi korzyściami.
Filtr antyspamowy.
Nie
wpisuj tu nic!
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.<br><br>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.<br><br>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ě.<br><br>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.<br><br>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ů.<br><br>Jak sloučit práci, aniž byste si rozbili histor<br><br>Kde se chyby opakují nejčastě<br><br>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ů.<br><br>Č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.<br><br>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.<br><br>Funkce a data: méně větví, méně stav
Opis zmian:
Wszelki wkład na Mazovia może być edytowany, zmieniany lub usunięty przez innych użytkowników. Jeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i rozpowszechniany bez ograniczeń, nie umieszczaj go tutaj.
Zapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach
domeny publicznej
lub kompatybilnych (zobacz także
Mazovia:Prawa autorskie
).
PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!
Anuluj
Pomoc w edycji
(otwiera się w nowym oknie)
Przełącz ograniczenie szerokości strony