Le coeur perdu – Paris

Git bez zbytečných chyb: co pokazí i zkušené uživatele

Styl kódu nemá být předmětem debat. Odsazení, středníky, uvozovky — zvol jednu variantu a drž se jí v celém projektu. Pomůže nástroj na formátování, který se spouští při uložení souboru, a linter, který upozorní na podezřelé konstrukce. Neznamená to slepě poslouchat každé varování. Znamená to, že běžné věci neřešíš ručně a máš kapacitu na skutečné problémy.

Vytvoř si vlastní testovací projekt. Vyber si veřejně dostupnou aplikaci nebo web, který můžeš legálně testovat, a sepisuj testovací případy. Zaznamenej chyby, které najdeš, včetně přesného postupu. Výsledek dej na jedno místo, které můžeš poslat. Personalista a technický vedoucí tak uvidí tvůj způsob myšlení, ne jen tvrzení, že tě testování baví. Důležité je být konkrétní: u každé chyby uveď, proč ji považuješ za závažnou a co by se stalo, kdyby zůstala v produkci.

Základem obrany je používat parametrizované dotazy nebo prepared statements. Databázový ovladač pošle strukturu dotazu zvlášť a hodnoty zvlášť, takže vstup nikdy nezmění syntaxi příkazu. V praxi to znamená, že místo skládání řetězce s proměnnou uvnitř dotazu předáte hodnotu jako vázaný parametr. Tento přístup podporuje většina moderních knihoven a frameworků. Pokud používáte ORM, ověřte, že i přímé dotazy v něm jsou parametrizované, protože některé metody umožňují vložit surový řetězec.

Kde parametrizace končí a začíná ruční prá

Šipky, šablony a destrukturace v praxi Arrow funkce zkracují zápis, ale hlavně nemají vlastní this. To je výhoda v callbacích, kde dřív bylo potřeba ukládat si kontext do pomocné proměnné. Na druhou stranu se nehodí pro metody objektů, které mají pracovat s this daného objektu. Template literals řeší skládání řetězců pomocí zpětných apostrofů a ${}. Uvnitř lze psát výrazy, ne jen proměnné. Pozor na víceřádkové řetězce: odsazení v kódu se propíše do výsledku, což u HTML nebo SQL může vadit.

Destrukturace z objektů a polí výrazně zkracuje přístup k datům. Místo opakovaného data.user.name stačí const name = data.user. U polí zase const [prvni, druha] = pole. Častá chyba je zapomenout na výchozí hodnoty: const jmeno = ‘neznámé’ = osoba zabrání undefined v šabloně. Stejně tak se vyplatí dávat pozor na přejmenování, když se názvy klíčů vnořují.

Základem je let a const místo var. Rozdíl není kosmetický: var se chová v rámci funkce a vytahuje deklaraci nahoru, což při smyčkách a asynchronním kódu vede k nechtěným hodnotám. let a const platí v bloku, takže se proměnná nedostane tam, kam nemá. const neznamená, že hodnota je hluboce neměnná; zabraňuje jen novému přiřazení. Typická chyba je záměna: vývojář použije const u objektu, pak mění jeho vlastnosti a diví se, že to jde.

JavaScript se po roce 2015 výrazně proměnil. Šestá edice specifikace, známá jako ES6 nebo ES2015, přinesla sadu nástrojů, které dřív řešily knihovny nebo pracné obcházení jazyka. Dnes je většina z nich běžnou součástí prohlížečů i serverového prostředí. Přesto se vyplatí vědět, kde se chyby dělají nejčastěji a jak se jim vyhnout.

Async a await zpřehlednily práci s promise. Funkce označená async vrací promise a await pozastaví její běh, dokud se promise nevyřeší. Kód pak vypadá jako synchronní, ale zůstává neblokující. Chyby se odchytávají přes try/catch, což je přehlednější než řetězení .catch(). Nedoporučuje se await v cyklu for bez rozmyslu; každá iterace čeká, takže se vše zpomalí. Když na sobě operace nezávisí, spusťte je přes Promise.all.

Moduly přinesly import a export. Kód se rozděluje do souborů s jasnými závislostmi a nástroje mohou dělat tree-shaking, tedy odstranit nepoužitý kód. V prohlížeči je potřeba soubor načíst s type=”module” a cesta musí být uvedená včetně přípony. Na serveru v Node.js je situace odlišná: přípona .mjs nebo pole “type”: “module” v package.json určuje, že jde o ES moduly. Záměna modulů a CommonJS je častý zdroj chyb při importu.

Poslední zásada zní: commitujte malé, popsané změny. Zpráva typu „oprava” za měsíc nikomu nic neřekne. Napište, co se změnilo a proč, v rozkazovacím způsobu a krátce. Průběžné commity také znamenají, že návrat přes git revert nebo git reset je přesný a nemusíte přepisovat týden práce. Git není složitý nástroj, jen nesnáší nedokončené operace a spěch.

Rebase umí vyčistit historii, ale přepisuje commity. Nikdy nedělejte rebase větve, kterou už někdo jiný stáhl a postavil na ní svou práci. Stejné pravidlo platí pro git push –force. Pokud už musíte historii přepsat na sdílené větvi, použijte –force-with-lease, které odmítne push v případě, že na serveru mezitím přibyly cizí commity. Sloučení přes git merge naopak nic nemaže, jen přidá nový commit se dvěma rodiči, a je proto bezpečnější volbou pro týmovou spolupráci.

If you enjoyed this information and you would certainly like to get additional information relating to zdroj kindly check out the web-page.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

0
    CARRELLO
    Il tuo carrello è vuoto!Torna allo shop