Enostavno vzdrževanje
Zgradite programsko opremo, ki jo bodo prihodnji razvijalci lahko enostavno razumeli, spreminjali in širili
Jasna struktura projekta in modularna arhitektura
Zagotovimo, da je struktura map prva stvar, ki jo bo prihodnji razvijalec ocenil. Uporabljajo se mnenjske, dosledne strukture map (npr. src/components, src/services, src/hooks, src/features).
Bralni, predvidljivi standardi kode
Pišemo kodo za ljudi, ne le za prevajalnik. Dosledne konvencije poimenovanja in vzorci se upoštevajo v vseh projektih. ESLint in Prettier sta nastavljena za uveljavitev oblikovanja preko pre-commit hookov, kot je Husky, kar zagotavlja kakovost kode od samega začetka. Prednost dajemo tipiziranim jezikom, pri čemer uporabljamo TypeScript namesto JavaScript za boljšo vzdržljivost. Vedno ohranjamo kodo berljivo in obvladljivo, osredotočeno in majhno.
Skupni oblikovni sistem / knjižnica komponent
Izogibamo se oblikovalskemu kaosu z kodiranjem oblikovalskih odločitev v ponovno uporabne kode komponente. Uporabljajo se uveljavljeni sistemi komponent, kot so ShadCN, Tailwind UI ali Material UI, da zagotovimo doslednost med projekti. Ta pristop pomaga preprečiti pisanje enkratne UI kode, razen če je to nujno potrebno, kar prihrani čas in zagotavlja oblikovno doslednost.
Encapsulirana poslovna logika
Zagotavljamo, da poslovna logika nikoli ne pripada v UI plast. Uporabljamo servisne plasti, prilagojene hooke ali kontrolerske module za pravilno izolacijo in organizacijo poslovne logike. Za interakcije z API-jem so implementirani sodobni vzorci pridobivanja podatkov z uporabo SWR, React Query ali prilagojenih ovitkov, ki učinkovito obravnavajo predpomnjenje in napake. Vsi klici API-jev so abstraktni v namenskih servisnih mapah, kot je services/api/user.ts, kar naredi kodo bolj vzdržljivo in testabilno.
Dokumentacija: Ohranite jo lahkotno, a uporabno
Ne pišemo romanov—samo dovolj, da hitro vključimo naslednjega razvijalca. README.md je vedno napisan z nastavitvami, okoljskimi spremenljivkami, navodili za namestitev. Krajši komentarji so dodani za kompleksno logiko (ne prekomentirajte). TSDoc / JSDoc se uporabljata za javne metode. Dodan je CONTRIBUTING.md za to, kako izvajati teste / konvencije.
Pokritost testov (samo kritične poti)
Ne potrebujemo 100% pokritosti, ampak potrebujemo popolno pokritost tam, kjer je neuspeh drag. Enotne teste prioritiziramo za funkcije, ki so kritične za poslovanje. Integracijski testi se uporabljajo za API končne točke ali delovne tokove. Izbrane so enostavne za uporabo orodja: Jest + Testing Library (React), Playwright za e2e. Tako lahko ohranimo ravnotežje med pokritostjo in časom do trga.
CI/CD + Avtomatizacija kakovosti kode
Vsak commit sproži varnostne preglede. Nastavljena je preprosta CI/CD cevovod, ki izvaja: preverjanje tipov (npr. tsc --noEmit), preverjanje Lint/format, enotne teste, samodejno namestitev na staging. Uporabljajo se običajna orodja: GitHub Actions, Docker Compose.
Ločitev konfiguracije od kode
Izogibamo se trdo kodiranim vrednostim = dolgoročna bolečina. Vse skrivnosti/konfiguracije so shranjene v .env ali oddaljeni konfiguraciji (npr. AWS SSM, Vercel envs). Uporablja se nastavitev, ki temelji na okolju (process.env.NODE_ENV). Izogibamo se commitu .env.*, API ključev, poverilnic itd. In so dobro dokumentirani.