Skip to content

DRY : Don't Repeat Yourself

Principes clés

Principe

Principe qui consiste à éviter la redondance de code de manière à faciliter la maintenance, le test, le débogage et les évolutions du code source.

Objectifs :

  • Éviter les répétitions de code dans un code source
  • Optimisation du code
  • Meilleur lisibilité
  • Éviter les oublis
  • Meilleur productivité

Moyens :

  • Abstraction : Diminuer le nombre d'opérations logiques et les regrouper au maximum
  • Normalisation des données : Proposer une standardisation pour regrouper les éléments par corrélation

Exemple

⚠️ Code sans le principe DRY :

<?php

class Book {
    protected int $id;
    protected string $reference;
    protected string $title;
    protected string $author;
    protected array $realisator;
}

// ⚠️ Mauvaise pratique : Duplication de propriétés
class Movie {
    protected int $id;
    protected string $reference;
    protected string $title;
    protected string $author;
    protected array $mainActors;
}

✅ Code qui suit le principe DRY :

<?php

class Work {
    protected int $id;
    protected string $reference;
    protected string $title;
    protected string $author;
}

class Book extends Work {
    protected string $realisator;
}

class Movie extends Work {
    protected array $mainActors;
}

Ici nous avons pu regrouper les propriétés de Book et Movie vers la class Work, ce qui permet de limiter la duplication de code.