Skip to main content

Vue d’ensemble

Ce guide définit les conventions de code pour maintenir une base de code cohérente, lisible et maintenable dans Kit’Asso. Principes fondamentaux :
  • Clarté avant concision
  • Cohérence avant performance (sauf cas critique)
  • Type safety stricte avec TypeScript
  • Accessibilité par défaut
  • Documentation via le code (self-documenting)

Naming Conventions

Fichiers et Dossiers

Composants React : PascalCase
Hooks : camelCase avec préfixe use
Utilitaires : camelCase
API modules : camelCase
Dossiers : kebab-case

Variables et Fonctions

Variables : camelCase
Constantes : UPPER_SNAKE_CASE
Fonctions : camelCase, verbe + nom
Event handlers : handle + Event + Subject
Booleans : préfixe is, has, should, can

Types et Interfaces

Interfaces : PascalCase
Types : PascalCase
Enums : PascalCase (clés et valeur)

Structure de Fichiers

Composant React

Pattern standard :

Module API

Pattern standard :

TypeScript

Type Annotations

Toujours typer les paramètres de fonction
Typer les retours de fonction async
Éviter any, utiliser unknown si nécessaire

Interfaces vs Types

Interface pour objets et classes
Type pour unions et intersections

React Patterns

Props Destructuring

Destructurer dans la signature

Conditional Rendering

Utiliser && pour conditions simples
Utiliser ternaire pour if/else
Éviter les ternaires imbriqués

State Management

Nommer les setters de façon cohérente
Utiliser functional updates pour state basé sur état précédent

CSS et Styling

Tailwind Classes

Ordre des classes Tailwind
Utiliser clsx pour classes conditionnelles

Git Workflow

Commit Messages

Format : type(scope): description Types :
  • feat: Nouvelle fonctionnalité
  • fix: Correction de bug
  • docs: Documentation
  • style: Formatage (ne change pas le code)
  • refactor: Refactoring
  • test: Ajout/modification de tests
  • chore: Tâches de maintenance
Exemples :

Branch Naming

Format : type/short-description

Comments et Documentation

TSDoc pour fonctions publiques


Inline Comments

Commenter le “pourquoi”, pas le “quoi”
Éviter les commentaires évidents

Error Handling

Try/Catch Pattern


Accessibility

ARIA Labels

Keyboard Navigation


Performance

Memoization


Ressources

Getting Started

Setup environnement de développement

API Layer

Patterns d’utilisation de l’API

Testing

Standards de tests

Components

Patterns de composants