Conventions de nommage

Toutes les conventions de nommage utilisées dans le projet pour garantir la cohérence, la lisibilité et la maintenabilité du code.

Principes généraux

Format de nommage

  • PascalCase : Classes, Interfaces, Traits, Enums
  • camelCase : Variables, méthodes, propriétés
  • snake_case : Noms de tables, colonnes, clés de configuration
  • kebab-case : Routes, URLs, noms de fichiers de configuration
  • UPPER_CASE : Constantes

Règles communes

  • Noms descriptifs : Éviter les abréviations sauf si très courantes
  • Singulier pour les classes : Product, User
  • Pluriel pour les collections : $products, $users
  • Verbes pour les Actions : Create, Update, Delete

Actions

Format

\{Verb\}\{Entity\}Action

CreateFeedbackAction
UpdateAppointmentAction
DeletePostAction
PublishProductAction

Verbes courants

Verbe Usage Exemple
Create Création d'une entité CreateFeedbackAction
Update Mise à jour d'une entité UpdateFeedbackAction
Delete Suppression d'une entité DeleteFeedbackAction
Publish Publication PublishPostAction

Queries

Format

Get\{Entity\}\{Context\}Query

GetFeedbackListQuery
GetFeedbackDetailQuery
GetPublishedPostsQuery
GetUserInvoicesQuery

Contextes courants

  • List : Liste paginée
  • Detail : Détail d'une entité
  • ById : Par ID
  • By\{Field\} : Par champ spécifique
  • \{Status\} : Par statut

Services

Format

\{Entity\}Service ou \{Purpose\}Service

FeedbackService
AppointmentService
BlockManager
ContactSyncService

Enums

Format

\{Entity\}\{Type\}

FeedbackStatus
FeedbackType
FeedbackPriority
AppointmentStatus

Tableau de référence rapide

Type Format Exemple
Action {Verb}{Entity}Action CreateFeedbackAction
Query Get{Entity}{Context}Query GetFeedbackListQuery
Service {Entity}Service FeedbackService
Enum {Entity}{Type} FeedbackStatus
DTO {Action}{Entity}Data CreateRoomData
Model {Entity} (singulier) Feedback
Table {entities} (pluriel) feedbacks
Event {Entity}{Action}Event FeedbackCreated
Policy {Entity}Policy FeedbackPolicy

Ressources supplémentaires

Pour plus de détails, consultez la documentation complète dans docs/conventions/naming.md.

Prendre rendez-vous