Lihtne hooldada

Ehita tarkvara, mida tulevased arendajad saavad hõlpsasti mõista, muuta ja laiendada

Selge projekti struktuur ja modulaarne arhitektuur

Kindlustame, et kaustastruktuur on esimene asi, mida tulevane arendaja hindab. Kasutatakse arvamuslikke, järjepidevaid kaustastruktuure (nt src/components, src/services, src/hooks, src/features).

Lugemisvõimeline, ettearvatav koodistandard

Me kirjutame koodi inimestele, mitte ainult kompilaatorile. Järjepidevaid nimetegevusi ja mustreid järgitakse kõigis projektides. ESLint ja Prettier on seadistatud vormindamise tagamiseks pre-commit hookide kaudu nagu Husky, tagades koodi kvaliteedi algusest peale. Eelistame tüpiseeritud keeli, kasutades TypeScripti JavaScripti asemel parema hooldatavuse nimel. Hoidame koodi alati loetavana ja hallatavena, keskendununa ja väikese mahuga.

Jagatud disainisüsteem / komponendi raamatukogu

Vältime disainikaost, kodeerides disainilahendused taaskasutatavatesse koodikomponentidesse. Kasutatakse väljakujunenud komponentide süsteeme nagu ShadCN, Tailwind UI või Material UI, et tagada järjepidevus projektide vahel. See lähenemine aitab vältida ühekordse UI koodi kirjutamist, välja arvatud juhul, kui see on hädavajalik, säästes aega ja tagades disaini järjepidevuse.

Kapseldatud äri loogika

Me tagame, et äri loogika ei kuulu kunagi kasutajaliidese kihti. Teenusekihid, kohandatud hook'id või kontrolleri moodulid kasutatakse äri loogika korralikuks isoleerimiseks ja organiseerimiseks. API interaktsioonide jaoks rakendatakse kaasaegseid andmete hankimise mustreid, kasutades SWR, React Query või kohandatud wrapper'eid, mis haldavad vahemälu ja veateateid tõhusalt. Kõik API kõned on abstraktseeritud spetsiaalsetesse teenuse kaustadesse, nagu services/api/user.ts, muutes koodibaasi hooldatavamaks ja testitavamaks.

Dokumentatsioon: Hoia see kerge, kuid kasulik

Me ei kirjuta romaane—ainult piisavalt, et järgmine arendaja kiiresti onboard'ida. README.md on alati kirjutatud seadistamise, keskkonna muutujate ja juurutamise juhistega. Komplekse loogika jaoks lisatakse lühikesed kommentaarid (ärge kommenteerige üle). TSDoc / JSDoc kasutatakse avalike meetodite jaoks. Lisatakse CONTRIBUTING.md, kuidas teste käivitada / konventsioonid.

Testide katvus (ainult kriitilised teed)

Me ei vaja 100% katvust, kuid me vajame täielikku katvust seal, kus ebaõnnestumine on kallis. Üksusteste prioriseeritakse äri-kriitiliste funktsioonide jaoks. Integreerimisteste kasutatakse API lõpp-punktide või töövoogude jaoks. Valitakse lihtsad tööriistad: Jest + Testing Library (React), Playwright e2e jaoks. Nii saame hoida tasakaalu katvuse ja turule toomise aja vahel.

CI/CD + Koodi kvaliteedi automatiseerimine

Iga commit käivitab ohutuskontrollid. Seadistatakse lihtne CI/CD torujuhe, mis teeb: Tüüpide kontrollid (nt tsc --noEmit), Lint/formaadi kontrollid, Üksustestid, Automaatne juurutamine staging'usse. Kasutatakse tavalisi tööriistu: GitHub Actions, Docker Compose.

Konfiguratsiooni eraldamine koodist

Me väldime kõva koodi = pikaajaline valu. Kõik saladused/konfiguratsioonid on salvestatud .env või kaugkonfiguratsiooni (nt AWS SSM, Vercel keskkonnad). Kasutatakse keskkonna põhist seadistust (process.env.NODE_ENV). .env.*, API võtmete, mandaadi jms. commit'imist vältida. Ja need on hästi dokumenteeritud.

Valmis alustama?

Ehime koos midagi imelist

Alusta