React
Folosește componente funcționale
Utilizează întotdeauna componente funcționale TSX. Nu folosiimport implicit cu const, deoarece este mai greu de citit și mai greu de importat cu completarea de cod.
Proprietăți
Creează tipul proprietăților și numește-l(NumeComponentă)Props dacă nu este necesar să o exporți.
Folosește destructurarea props.
Ferește-te de utilizarea React.FC sau React.FunctionComponent pentru a defini tipurile props
Fără Împrăștierea de Proprietăți cu o singură variabilă în Elemente JSX
Evită utilizarea împrăștierii de proprietăți cu o singură variabilă în elemente JSX, cum ar fi{...props}. Această practică adesea duce la cod mai puțin lizibil și mai greu de întreținut deoarece nu este clar ce proprietăți primește componenta.
- La o privire rapidă, este mai evident ce proprietăți sunt transmise de cod, făcându-l mai ușor de înțeles și întreținut.
- Ajută la prevenirea unei cuplări strânse între componente prin proprietățile lor.
- Instrumentele de linting fac mai ușor să identifici proprietăți sprellate greșit sau neutilizate atunci când enumeri explicit proprietățile.
JavaScript
Utilizează operatorul de coalescență nulă ??
Folosește accesarea opțională ?.
TypeScript
Utilizați type în loc de interface
Utilizați întotdeauna type în loc de interface, deoarece aproape întotdeauna se suprapun, iar type este mai flexibil.
Folosește litere de șir în loc de enum
Literele de șir sunt metoda standard pentru manipularea valorilor similare cu enum în TypeScript. Sunt mai ușor de extins cu Pick și Omit, oferind o experiență mai bună dezvoltatorilor, mai ales cu completarea codului. Poți vedea de ce TypeScript recomandă evitarea enumurilor aici.GraphQL și biblioteci interne
Ar trebui să folosești enumurile generate de GraphQL codegen. Este de asemenea mai bine să folosești un enum atunci când utilizezi o bibliotecă internă, astfel încât biblioteca internă să nu trebuiască să expose un tip de literă de șir care nu este legată de API-ul intern. Exemplu:Stilizare
Folosește ComponentaStilizată
Stilizează componentele cu styled-components.Tematica
Utilizarea temei pentru majoritatea stilizării componentelor este abordarea preferată.Unități de măsură
Evită utilizarea directă a valorilorpx sau rem în componentele stilizate. Valorile necesare sunt de regulă deja definite în temă, așa că este recomandat să utilizezi tema pentru aceste scopuri.
Culori
Abține-te să introduci culori noi; în schimb, folosește paleta existentă din temă. În situația în care paleta nu se potrivește, te rugăm să lași un comentariu pentru ca echipa să poată remedia acest aspect.Impunerea Neprecizării Importurilor de Tip
Evită importurile de tip. Pentru a impune acest standard, o regulă ESLint verifică și raportează orice importuri de tip. Acest lucru ajută la menținerea consistenței și lizibilității în codul TypeScript.De ce Fără Importuri de Tip
- Consistență: Evitând importurile de tip și folosind o singură abordare atât pentru importurile de tip cât și de valoare, baza de cod rămâne consistentă în stilul său de import module.
- Lizibilitate: Importurile doar de tip îmbunătățesc lizibilitatea codului, făcând clar când importați valori sau tipuri. Aceasta reduce ambiguitatea și face mai ușor de înțeles scopul simbolurilor importate.
- Întreținere: Îmbunătățește întreținerea bazei de cod, deoarece dezvoltatorii pot identifica și localiza importurile doar de tip când revizuiesc sau modifică codul.
Regula ESLint
O regulă ESLint,@typescript-eslint/consistent-type-imports, impune standardul fără importuri de tip. Această regulă va genera erori sau avertismente pentru orice încălcare a importurilor de tip.
Rețineți că această regulă abordează în mod specific cazurile-limită rare în care apar importuri de tip neintenționate. TypeScript descurajează el însuși această practică, așa cum este menționat în notele de lansare TypeScript 3.8. În majoritatea situațiilor, nu ar trebui să aveți nevoie de importuri doar de tip.
Pentru a vă asigura că codul respectă această regulă, rulați ESLint ca parte a fluxului de lucru de dezvoltare.