
React
Utilisez des composants fonctionnels
Utilisez toujours des composants fonctionnels TSX. N’utilisez pasimport par défaut avec const, car c’est plus difficile à lire et plus difficile à importer avec l’autocomplétion du code.
Propriétés
Créez le type des props et nommez-le(NomDuComposant)Props s’il n’est pas nécessaire de l’exporter.
Utilisez la déstructuration des props.
Évitez d’utiliser React.FC ou React.FunctionComponent pour définir les types de props.
Pas de propagation de props à variable unique dans les éléments JSX
Évitez d’utiliser la propagation de props à variable unique dans les éléments JSX, comme{...props}. Cette pratique résulte souvent en un code moins lisible et plus difficile à maintenir car il n’est pas clair quels props le composant reçoit.
- D’un coup d’œil, il est plus clair quels props le code transmet, le rendant plus facile à comprendre et à maintenir.
- Cela aide à éviter le couplage serré entre les composants via leurs props.
- Les outils de linting facilitent l’identification des props mal orthographiés ou inutilisées lorsque vous listez explicitement les props.
JavaScript
Utilisez l’opérateur de coalescence nulle ??
Utilisez la chaîne facultative ?.
TypeScript
Utilisez type au lieu de interface
Utilisez toujours type au lieu de interface, car ils se chevauchent presque toujours, et type est plus flexible.
Utilisez des littéraux de chaîne au lieu d’enums
Les littéraux de chaîne sont la méthode de référence pour gérer des valeurs semblables à des enums dans TypeScript. Ils sont plus faciles à étendre avec Pick et Omit, et offrent une meilleure expérience pour le développeur, notamment avec l’autocompletion de code. Vous pouvez voir pourquoi TypeScript recommande d’éviter les enums ici.GraphQL et bibliothèques internes
Vous devriez utiliser les enums générés par le codegen GraphQL. Il est également préférable d’utiliser un enum lors de l’utilisation d’une bibliothèque interne, afin que la bibliothèque interne n’ait pas à exposer un type de littéral de chaîne qui n’est pas lié à l’API interne. Exemple :Stylisme
Utilisez StyledComponents
Styliser les composants avec styled-components.Thematisation
Utiliser le thème pour la majorité du stylisme des composants est l’approche préférée.Unités de mesure
Évitez d’utiliser des valeurspx ou rem directement dans les composants stylisés. Les valeurs nécessaires sont généralement déjà définies dans le thème, il est donc recommandé d’utiliser le thème à ces fins.
Couleurs
Évitez d’introduire de nouvelles couleurs ; utilisez plutôt la palette existante du thème. Si la palette ne correspond pas, veuillez laisser un commentaire pour que l’équipe puisse rectifier cela.Application d’interdiction d’importations de type
Évitez les importations de type. Pour appliquer cette norme, une règle ESLint vérifie et signale toutes les importations de type. Cela aide à maintenir la cohérence et la lisibilité dans le code TypeScript.Pourquoi éviter les importations de type
- Cohérence : En évitant les importations de type et en utilisant une seule approche pour les importations de type et de valeur, la base de code reste cohérente dans son style d’importation de module.
- Lisibilité : Les importations sans type améliorent la lisibilité du code en clarifiant quand vous importez des valeurs ou des types. Cela réduit l’ambiguïté et facilite la compréhension de l’objectif des symboles importés.
- Maintenabilité : Cela améliore la maintenabilité de la base de code car les développeurs peuvent identifier et localiser les importations uniquement de type lors de la révision ou de la modification du code.
Règle ESLint
Une règle ESLint,@typescript-eslint/consistent-type-imports, applique la norme d’importation sans type. Cette règle génère des erreurs ou des avertissements pour toutes les violations d’importations de type.
Veillez à ce que cette règle aborde spécifiquement les rares cas particuliers où se produisent des importations de type involontaires. TypeScript lui-même déconseille cette pratique, comme mentionné dans les notes de version de TypeScript 3.8. Dans la majorité des situations, vous ne devriez pas avoir besoin d’utiliser des importations uniquement de type.
Pour garantir la conformité de votre code avec cette règle, assurez-vous d’exécuter ESLint dans le cadre de votre flux de travail de développement.