Aller au contenu principal

Style de code

Cette page récapitule les conventions de code utilisées dans LogiDAV. Le guide canonique est CODING_STYLE.md à la racine du projet.

Principes

  • Préférer du code lisible et maintenable aux raccourcis astucieux
  • Garder les changements ciblés et cohérents avec le bundle environnant
  • Favoriser les dépendances explicites et les effets de bord prévisibles
  • Traiter les cronjobs, files d'attente, expéditions, paiements et mises à jour de stock comme des flux à haut risque — coder défensivement

PHP et formatage

  • Compatibilité PHP 7.3
  • Suivre PSR-2 / PSR-12
  • 4 espaces, pas de tabulations, UTF-8, fins de ligne Unix
  • Syntaxe courte de tableau : []
  • Imports propres, supprimer les imports inutilisés

Les règles de formatage proviennent de .php-cs-fixer.php à la racine.

Symfony et architecture

  • Garder les services sans état quand c'est possible
  • Utiliser l'injection par constructeur plutôt que les lookups de container
  • Aligner les namespaces avec la structure des bundles
  • Noms basés sur les rôles : *Service, *Command, *Controller, *Repository

Doctrine et sécurité des workflows

  • Garder la logique de requêtes dans les repositories
  • Garder les transactions courtes
  • Éviter les grands jeux de résultats en mémoire dans les batchs
  • Être particulièrement prudent dans les workflows qui modifient les ventes, remboursements, expéditions et le stock

Tests et documentation

  • Repliquer les namespaces source sous tests/
  • Suffixe Test pour les classes de test
  • Ajouter des PHPDoc concis aux méthodes non triviales
  • Mettre à jour la documentation quand un workflow de production change

Commandes de validation

# Formatage
php tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php

# Analyse statique
composer phpstan

# Tests
SYMFONY_DEPRECATIONS_HELPER=weak_vendors vendor/bin/simple-phpunit -c phpunit.xml.dist