Jednostavno za održavanje
Izgradite softver koji budući programeri mogu lako razumjeti, modificirati i proširiti
Jasna struktura projekta i modularna arhitektura
Osiguravamo da je struktura mapa prva stvar koju će budući programer ocijeniti. Koriste se dosljedne, mišljenja strukture mapa (npr., src/components, src/services, src/hooks, src/features).
Čitljivi, predvidljivi standardi koda
Pišemo kod za ljude, a ne samo za kompajler. Dosljedne konvencije imenovanja i obrasci se slijede kroz sve projekte. ESLint i Prettier su postavljeni za primjenu formatiranja putem pre-commit hookova poput Husky, osiguravajući kvalitetu koda od samog početka. Prioritet dajemo tipiziranim jezicima, koristeći TypeScript umjesto JavaScript-a za bolju održivost. Uvijek održavamo kod čitljivim i upravljivim, usredotočenim i malim.
Zajednički dizajnerski sustav / Biblioteka komponenti
Izbjegavamo dizajnerski kaos kodiranjem dizajnerskih odluka u ponovno upotrebljive kodne komponente. Uspostavljeni sustavi komponenti poput ShadCN, Tailwind UI ili Material UI koriste se za osiguranje dosljednosti među projektima. Ovaj pristup pomaže u izbjegavanju pisanja jednokratnog UI koda osim ako nije apsolutno nužno, štedeći vrijeme i osiguravajući dosljednost dizajna.
Encapsulirana poslovna logika
Osiguravamo da poslovna logika nikada ne pripada UI sloju. Servisni slojevi, prilagođeni hookovi ili kontrolerski moduli koriste se za pravilno izoliranje i organiziranje poslovne logike. Za interakcije s API-jem, moderni obrasci dohvaćanja podataka implementiraju se koristeći SWR, React Query ili prilagođene omotače koji učinkovito upravljaju predmemorijom i stanjima pogreške. Svi API pozivi apstrahiraju se u namjenske servisne mape, kao što su services/api/user.ts, čineći kodnu bazu održivijom i testabilnijom.
Dokumentacija: Održavajte je laganom, ali korisnom
Ne pišemo romane—samo dovoljno da brzo uputimo sljedećeg developera. README.md uvijek se piše s postavkama, env varijablama, uputama za implementaciju. Kratki komentari dodaju se za složenu logiku (ne prekomentirajte). TSDoc / JSDoc koriste se za javne metode. Dodaje se CONTRIBUTING.md za upute o pokretanju testova / konvencijama.
Pokriće testova (samo kritični putevi)
Ne trebamo 100% pokriće, ali trebamo potpuno pokriće gdje je neuspjeh skup. Jedinični testovi imaju prioritet za poslovno-kritične funkcije. Integracijski testovi koriste se za API krajnje točke ili radne tokove. Biraju se alati koji su jednostavni za korištenje: Jest + Testing Library (React), Playwright za e2e. Tako možemo održati ravnotežu između pokrića i vremena do tržišta.
CI/CD + Automatizacija kvalitete koda
Svaki commit pokreće sigurnosne provjere. Postavljen je jednostavan CI/CD pipeline koji radi: Provjere tipova (npr., tsc --noEmit), Lint/format provjere, Jedinični testovi, Automatsko implementiranje na staging. Koriste se uobičajeni alati: GitHub Actions, Docker Compose.
Odvajanje konfiguracije od koda
Izbjegavamo hardkodiranje bilo čega = dugoročna bol. Svi tajni podaci/konfiguracije pohranjuju se u .env ili udaljenu konfiguraciju (npr., AWS SSM, Vercel envs). Koristi se postavka temeljena na okruženju (process.env.NODE_ENV). Izbjegava se komitiranje .env.*, API ključeva, vjerodajnica itd. I dobro su dokumentirani.