Snadná údržba

Vytvářejte software, který budoucí vývojáři snadno pochopí, upraví a rozšíří

Jasná struktura projektu a modulární architektura

Zajišťujeme, že struktura složek je první věcí, kterou budoucí vývojář posoudí. Používají se názorné, konzistentní struktury složek (např. src/components, src/services, src/hooks, src/features).

Čitelné, předvídatelné standardy kódu

Píšeme kód pro lidi, nejen pro kompilátor. Konzistentní názvové konvence a vzory se dodržují ve všech projektech. ESLint a Prettier jsou nastaveny tak, aby prosazovaly formátování prostřednictvím pre-commit hooků jako Husky, což zajišťuje kvalitu kódu od začátku. Dáváme přednost typovaným jazykům, používáme TypeScript místo JavaScriptu pro lepší údržbu. Vždy udržujeme kód čitelný a zvládnutelný, soustředěný a malý.

Sdílený designový systém / Knihovna komponent

Vyhýbáme se designovému chaosu tím, že zakódováváme designová rozhodnutí do znovupoužitelných kódových komponent. Používají se zavedené komponentní systémy jako ShadCN, Tailwind UI nebo Material UI, aby se zajistila konzistence napříč projekty. Tento přístup pomáhá vyhnout se psaní jednorázového UI kódu, pokud to není naprosto nezbytné, šetří čas a zajišťuje designovou konzistenci.

Zabalená obchodní logika

Zajišťujeme, aby obchodní logika nikdy nepatřila do vrstvy UI. K správné izolaci a organizaci obchodní logiky se používají servisní vrstvy, vlastní hooky nebo řídicí moduly. Pro interakce s API se implementují moderní vzory načítání dat pomocí SWR, React Query nebo vlastních wrapperů, které efektivně zpracovávají caching a stavy chyb. Všechny API volání jsou abstrahována do specializovaných servisních složek, jako je services/api/user.ts, což činí kódovou základnu lépe udržovatelnou a testovatelnou.

Dokumentace: Udržujte ji lehkou, ale užitečnou

Nepíšeme romány—jen dost na to, abychom rychle onboardovali dalšího vývojáře. README.md je vždy napsáno se setupem, env proměnnými, pokyny k nasazení. Krátké komentáře jsou přidány pro složitou logiku (nepřekomentovávejte). TSDoc / JSDoc se používají pro veřejné metody. Přidává se CONTRIBUTING.md s pokyny, jak spouštět testy / konvence.

Pokrytí testy (pouze kritické cesty)

Nepotřebujeme 100% pokrytí, ale potřebujeme kompletní pokrytí tam, kde je selhání nákladné. Jednotkové testy mají prioritu pro obchodně kritické funkce. Integrační testy se používají pro API koncové body nebo pracovní postupy. Jsou vybírány snadno použitelné nástroje: Jest + Testing Library (React), Playwright pro e2e. Tak můžeme udržet rovnováhu mezi pokrytím a časem na trh.

CI/CD + Automatizace kvality kódu

Každý commit spouští bezpečnostní kontroly. Je nastavena jednoduchá CI/CD pipeline, která provádí: Kontroly typů (např. tsc --noEmit), Lint/format kontroly, Jednotkové testy, Automatické nasazení na staging. Používají se běžné nástroje: GitHub Actions, Docker Compose.

Oddělení konfigurace od kódu

Vyhýbáme se hardcodovaným hodnotám = dlouhodobá bolest. Všechny tajné informace/konfigurace jsou uloženy v .env nebo vzdálené konfiguraci (např. AWS SSM, Vercel envs). Používá se nastavení založené na prostředí (process.env.NODE_ENV). Vyhýbáme se commitu .env.*, API klíčů, přihlašovacích údajů atd. A jsou dobře zdokumentovány.

Připraveni začít?

Pojďme společně vytvořit něco úžasného

Začít