Pozor na globální stav a vedlejší efekty. Funkce, které mění globální proměnné nebo přijaté objekty, jsou zdrojem chyb. Snažte se psát čisté funkce: vždy vracejí stejný výsledek pro stejné vstupy a nemění nic venku. Pokud potřebujete změnit objekt, vytvořte jeho kopii a vraťte novou. Tím se snižuje riziko neočekávaných interakcí. Toto je zásadní pro testování a ladění.
EXPOSE 3000
Dalším častým problémem je délka textu. Anglické věty bývají kratší než české, ale němčina umí být naopak delší. Pokud navrhujete UI, myslete na to, že tlačítko, které se vejde do pěti znaků v angličtině, může mít v češtině patnáct. Rezervujte si v rozvržení dostatek prostoru a otestujte každý jazyk zvlášť. Ideální je rovnou nasadit automatické testy, které kontrolují, zda text nepřetéká z kontejneru.
Nakonec si uvědomte, že čistý návrh rozhraní mezi moduly snižuje potřebu více verzí. Pokud každý modul komunikuje přes dobře definované API, pravděpodobně nebudete muset držet dvě verze stejné knihovny. Snažte se o to, aby se závislosti co nejvíce opakovaly a aby byla jedna verze na jeden balíček v celém projektu. To vám ušetří čas při údržbě, zmenší velikost výsledného artefaktu a hlavně eliminuje třídu chyb, které vznikají při nekompatibilitě mezi verzemi. Dobře zdokumentovaný a automatizovaný proces verzování je investice, která se vrátí při každém větším releasu.
Když se rozhodnete použít Redux ve své React aplikaci, nejde jen o instalaci balíčku. Jde o změnu myšlení. Redux vám dává jednotný stav, ale špatné použití přinese víc škody než užitku. Základní princip je jednoduchý: celý stav aplikace je uložen v jednom stromu a mění se pouze pomocí akcí a reduktorů. Než začnete psát první akci, promyslete, co do globálního stavu skutečně patří. Lokální stavy formulářů, otevřené menu nebo dočasné UI stavy nechte v Reactu. Redux si nechte na data, která potřebuje více komponent, jako je přihlášený uživatel, košík nebo nastavení.
Na závěr si nastavte proces, který vám usnadní budoucí změny. Verzujte překladové soubory stejně jako kód a při každé úpravě přidejte komentář, co se změnilo. Používejte nástroje na správu překladů, které umožňují týmovou spolupráci a historii změn. Tím se vyhnete situaci, kdy někdo přepíše anglický text a český zůstane starý. S trochou disciplíny se vícejazyčný projekt stane přehledným a snadno udržovatelným.
Při práci s asynchronními operacemi se vyhněte psaní vlastních middleware. Použijte standardní řešení jako Redux Thunk nebo Redux Toolkit. Redux Toolkit vám navíc poskytne createSlice, který výrazně zkrátí kód a předejde chybám při psaní akcí a reduktorů. Nezapomeňte na devtools – díky nim můžete cestovat v čase a vidět každou akci. To je neocenitelné při hledání chyb.
Když projekt začne používat více verzí stejné knihovny, dříve nebo později narazíte na konflikt závislostí. Nejčastější chybou je slepě povýšit všechny balíčky na nejnovější verzi, aniž byste ověřili kompatibilitu s ostatními částmi systému. Místo toho si nejprve zmapujte, která část kódu která verze skutečně vyžaduje. Vytvořte si tabulku závislostí: název knihovny, používaná verze, kdo ji importuje, a datum poslední změny. Teprve s tímto přehledem můžete rekonstrukce koupelny krok za krokemčít plánovat, zda je nutné verzování sjednotit, nebo zda můžete koexistovat s více verzemi.
Pojmenovávání a konzistence Volba názvů je klíčová. Vyhněte se zkratkám jako „usr, txt, val" a používejte plná slova: „user, text, value". Pro boolean hodnoty používejte slovesa jako „isActive, hasAccess, canEdit". Funkce pojmenujte podle toho, co dělají: „getUserById" je jasné, „processUser" je vágní. Buďte důslední v tom, jak názvy tvoříte. Pokud používáte „fetchData" pro API volání, nepoužívejte „ziskejData" v jiné části kódu. Jeden projekt = jedna konvence. Tato disciplína eliminuje zbytečné dohady při čtení.
Další důležitý bod je zohlednit technický dluh. Pokud pracujete na starším kódu, počítejte s tím, že pochopení stávající logiky zabere víc času než psaní nové. Zkuste si projít kód, který budete měnit, a odhadněte, kolik času zabere jeho čtení. Často se vyplatí naplánovat si i čas na refaktoring, který vám ušetří práci v budoucnu. Nezahrnutí technického dluhu je jedna z nejčastějších příčin překročení odhadů.
Pokud se rozhodnete ponechat více verzí, klíčové je izolovat je od sebe. V jazyce Java nebo .NET použijte oddělené moduly nebo assembly, v Pythonu zvažte virtuální prostředí s různými balíčky pro různé části aplikace. Důležité je, aby importy byly jednoznačné – používejte plně kvalifikované názvy nebo aliasy. Vyhněte se dynamickému načítání knihoven za běhu, pokud to není nezbytné, protože to znemožňuje statickou analýzu a ztěžuje ladění. Typická chyba je spoléhat se na to, že „to nějak najde správnou verzi" – to vede k nevysvětlitelným chybám v produkci.
For more in regards to více na webu have a look at the web-page.