
React
Usa componenti funzionali
Usa sempre componenti funzionali TSX. Non utilizzare l’import di default con const, perché è più difficile da leggere e importare con il completamento del codice.
Props
Crea il tipo di proprietà e chiamalo(ComponentName)Props se non c’è bisogno di esportarle.
Usa la destrutturazione delle props.
Evita di usare React.FC o React.FunctionComponent per definire i tipi di proprietà
Nessuna espansione singola delle variabili delle props negli elementi JSX
Evita di usare l’espansione singola delle variabili delle props negli elementi JSX, come{...props}. Questa pratica spesso porta a un codice meno leggibile e più difficile da mantenere perché non è chiaro quali props stia ricevendo il componente.
- A colpo d’occhio, è più chiaro quali props il codice passa, rendendo più semplice comprenderlo e mantenerlo.
- Aiuta a prevenire un accoppiamento stretto tra i componenti attraverso le loro props.
- Gli strumenti di linting rendono più facile identificare le props mal scritte o non utilizzate quando si elencano esplicitamente.
JavaScript
Usa l’operatore di coalescenza dei valori null ??
Usa il collegamento delle opzioni ?.
TypeScript
Usa type invece di interface
Usa sempre type invece di interface, perché quasi sempre si sovrappongono, e type è più flessibile.
Usa letterali di stringa invece di enum
I letterali di stringa sono la modalità preferita per gestire valori simili agli enum in TypeScript. Sono più facili da estendere con Pick e Omit e offrono una migliore esperienza per lo sviluppatore, in particolare con il completamento del codice. Puoi vedere perché TypeScript consiglia di evitare gli enum qui.GraphQL e librerie interne
Dovresti usare gli enum che il codegen GraphQL genera. È anche meglio usare un enum quando si utilizza una libreria interna, così la libreria interna non deve esporre un tipo di letterale di stringa che non è correlato all’API interna. Esempio:Stile
Usa StyledComponents
Stile i componenti con styled-components.Tematizzazione
Utilizzare il tema per la maggior parte della stilizzazione dei componenti è l’approccio preferito.Unità di misura
Evita di usarepx o valori rem direttamente nei componenti stilizzati. I valori necessari sono generalmente già definiti nel tema, quindi è consigliato sfruttare il tema per questi scopi.
Colori
Evita di introdurre nuovi colori; usa invece la palette esistente nel tema. Nel caso in cui la palette non sia adeguata, procedi lasciando un commento affinché il team possa risolvere.Applicare importazioni senza tipo
Evita le importazioni di tipo. Per far rispettare questo standard, una regola di ESLint controlla e segnala qualsiasi violazione delle importazioni di tipo. Questo aiuta a mantenere la coerenza e la leggibilità del codice TypeScript.Perché evitare importazioni di tipo
- Coerenza: Evitando le importazioni di tipo e usando un unico approccio sia per le importazioni di tipo che di valore, il codice rimane coerente nel suo stile di importazione dei moduli.
- Leggibilità: Le importazioni senza tipo migliorano la leggibilità del codice rendendo chiaro quando si stanno importando valori o tipi. Questo riduce l’ambiguità e rende più semplice comprendere lo scopo dei simboli importati.
- Maintainability: It enhances codebase maintainability because developers can identify and locate type-only imports when reviewing or modifying code.
Regola ESLint
An ESLint rule,@typescript-eslint/consistent-type-imports, enforces the no-type import standard. This rule will generate errors or warnings for any type import violations.
Please note that this rule specifically addresses rare edge cases where unintentional type imports occur. TypeScript stesso scoraggia questa pratica, come menzionato nelle note di rilascio di TypeScript 3.8. Nella maggior parte delle situazioni, non si dovrebbe aver bisogno di usare importazioni di solo tipo.
Per assicurarti che il tuo codice sia conforme a questa regola, assicurati di eseguire ESLint come parte del tuo flusso di lavoro di sviluppo.