Logo ConstructiCat
CodeBust.
Parcourir la section ▾

Regrouper les fragments conditionnels dupliqués.

Problème

Un code identique se retrouve dans toutes les branches d’une condition.

Solution

Déplacez le code en dehors de la condition.

##Exemple

Avant
if (isSpecialDeal()) {
  total = price * 0.95;
  send();
}
else {
  total = price * 0.98;
  send();
}
Après
if (isSpecialDeal()) {
  total = price * 0.95;
}
else {
  total = price * 0.98;
}
send();

##Pourquoi refactoriser

Du code dupliqué se trouve à l’intérieur de toutes les branches d’une condition, souvent comme résultat de l’évolution du code au sein des branches conditionnelles. Le développement en équipe peut être un facteur contributif.

##Avantages

  • Déduplication du code.

##Comment refactoriser

  1. Si le code dupliqué se trouve au début des branches conditionnelles, déplacez-le à un endroit situé avant la condition.

  2. Si le code est exécuté à la fin des branches, placez-le après la condition.

  3. Si le code dupliqué est situé de façon aléatoire à l’intérieur des branches, essayez d’abord de le déplacer au début ou à la fin de la branche, selon qu’il modifie ou non le résultat du code qui suit.

  4. Si cela est pertinent et que le code dupliqué fait plus d’une ligne, essayez d’utiliser Extraire une méthode.