Lengva prižiūrėti

Kurkite programinę įrangą, kurią būsimieji kūrėjai galėtų lengvai suprasti, keisti ir plėsti

Aiški projekto struktūra ir modulinė architektūra

Užtikriname, kad aplankų struktūra būtų pirmas dalykas, kurį vertins būsimasis kūrėjas. Naudojamos nuoseklios, nuomones turinčios aplankų struktūros (pvz., src/components, src/services, src/hooks, src/features).

Skaitytini, prognozuojami kodo standartai

Mes rašome kodą žmonėms, o ne tik kompiliatoriui. Visiems projektams taikomos nuoseklios pavadinimų konvencijos ir šablonai. ESLint ir Prettier yra nustatyti, kad užtikrintų formatavimą per pre-commit hooks, tokius kaip Husky, užtikrinant kodo kokybę nuo pat pradžių. Mes teikiame pirmenybę tipizuotoms kalboms, naudodami TypeScript vietoj JavaScript geresniam priežiūrai. Visada laikome kodą skaitomą ir valdomą, sutelktą ir mažą.

Bendras dizaino sistema / komponentų biblioteka

Vengiamės dizaino chaoso koduodami dizaino sprendimus į pakartotinai naudojamus kodo komponentus. Naudojamos įdiegtos komponentų sistemos, tokios kaip ShadCN, Tailwind UI ar Material UI, kad būtų užtikrinta nuoseklumas tarp projektų. Šis požiūris padeda išvengti vienkartinio UI kodo rašymo, nebent tai yra absoliučiai būtina, taupant laiką ir užtikrinant dizaino nuoseklumą.

Apibrėžta verslo logika

Mes užtikriname, kad verslo logika niekada nepriklausytų UI sluoksniui. Paslaugų sluoksniai, individualūs kabliukai arba valdiklių moduliai naudojami tinkamai izoliuoti ir organizuoti verslo logiką. API sąveikoms modernūs duomenų gavimo modeliai įgyvendinami naudojant SWR, React Query arba individualius apvalkalus, kurie efektyviai tvarko talpinimą ir klaidų būsenas. Visi API skambučiai yra abstrahuoti į specializuotas paslaugų aplankus, tokius kaip services/api/user.ts, taip padarant kodą lengviau prižiūrimą ir testuojamą.

Dokumentacija: Laikykite ją lengvą, bet naudingą

Mes nerašome romanų—tik tiek, kad greitai įvestume kitą programuotoją. README.md visada rašoma su nustatymais, aplinkos kintamaisiais, diegimo instrukcijomis. Trumpi komentarai pridedami sudėtingai logikai (neperkomentuokite). TSDoc / JSDoc naudojami viešiems metodams. Pridedamas CONTRIBUTING.md, kaip vykdyti testus / konvencijas.

Testų aprėptis (tik kritiniai keliai)

Mums nereikia 100% aprėpties, bet mums reikia visiškos aprėpties ten, kur nesėkmė yra brangi. Vienetų testai yra prioritetizuojami verslo kritinėms funkcijoms. Integracijos testai naudojami API galams arba darbo srautams. Pasirenkami lengvai naudojami įrankiai: Jest + Testing Library (React), Playwright e2e testams. Taigi galime išlaikyti balansą tarp aprėpties ir laiko iki rinkos.

CI/CD + Kodo kokybės automatizavimas

Kiekvienas įsipareigojimas sukelia saugumo patikrinimus. Nustatyta paprasta CI/CD pipeline, kuri atlieka: tipų patikrinimus (pvz., tsc --noEmit), lint/format patikrinimus, vienetų testus, automatinį diegimą į staging. Naudojami bendri įrankiai: GitHub Actions, Docker Compose.

Konfigūracijos atskyrimas nuo kodo

Mes vengiamė kietai užkoduotų dalykų = ilgalaikė skausmas. Visi paslaptys/konfigūracija saugomi .env arba nuotolinėje konfigūracijoje (pvz., AWS SSM, Vercel envs). Naudojama aplinkos pagrindu sukurta nustatymas (process.env.NODE_ENV). Vengiamė įsipareigoti .env.*, API raktus, kredencialus ir pan. Ir jie yra gerai dokumentuoti.

Pasiruošę pradėti?

Sukurkime kažką nuostabaus kartu

Pradėti