ConstructiCat Logo
CodeBust.
Browse section ▾

Intégrer la méthode.

Problem

Lorsque le corps d'une méthode est plus parlant que la méthode elle-même, employez cette technique.

Solution

Remplacez les appels à la méthode par son contenu, puis supprimez la méthode.

##Example

Before
class PizzaDelivery {
  // ...
  int getRating() {
    return moreThanFiveLateDeliveries() ? 2 : 1;
  }
  boolean moreThanFiveLateDeliveries() {
    return numberOfLateDeliveries > 5;
  }
}
After
class PizzaDelivery {
  // ...
  int getRating() {
    return numberOfLateDeliveries > 5 ? 2 : 1;
  }
}

##Why Refactor

Une méthode se contente de déléguer à une autre méthode. En soi, cette délégation n'a rien de problématique. Mais lorsque ces méthodes sont nombreuses, elles forment un enchevêtrement déroutant et difficile à démêler.

Souvent, les méthodes ne sont pas trop courtes au départ, mais le deviennent à mesure que le programme évolue. N'hésitez donc pas à vous débarrasser des méthodes qui ont fait leur temps.

##Benefits

  • En réduisant le nombre de méthodes inutiles, vous rendez le code plus direct.

##How to Refactor

  1. Assurez-vous que la méthode n'est pas redéfinie dans des sous-classes. Si elle l'est, renoncez à cette technique.

  2. Trouvez tous les appels à la méthode. Remplacez ces appels par le contenu de la méthode.

  3. Supprimez la méthode.