ConstructiCat Logo
CodeBust.
Browse section ▾

Fractionner une variable temporaire.

Problem

Vous avez une variable locale utilisée pour stocker différentes valeurs intermédiaires à l'intérieur d'une méthode (à l'exception des variables de boucle).

Solution

Utilisez des variables différentes pour des valeurs différentes. Chaque variable ne doit être responsable que d'une seule chose en particulier.

##Example

Before
double temp = 2 * (height + width);
System.out.println(temp);
temp = height * width;
System.out.println(temp);
After
final double perimeter = 2 * (height + width);
System.out.println(perimeter);
final double area = height * width;
System.out.println(area);

##Why Refactor

Si vous lésinez sur le nombre de variables à l'intérieur d'une fonction et que vous les réutilisez à des fins variées et sans rapport, vous rencontrerez forcément des problèmes dès que vous devrez modifier le code contenant ces variables. Vous devrez revérifier chaque utilisation de la variable pour vous assurer que les valeurs correctes sont employées.

##Benefits

  • Chaque composant du code du programme ne doit être responsable que d'une seule et unique chose. Cela facilite grandement la maintenance du code, car vous pouvez facilement remplacer une chose particulière sans craindre d'effets indésirables.

  • Le code devient plus lisible. Si une variable a été créée il y a longtemps, à la hâte, elle porte probablement un nom qui n'explique rien : k, a2, value, etc. Mais vous pouvez remédier à cette situation en donnant aux nouvelles variables des noms compréhensibles et explicites. De tels noms pourraient ressembler à customerTaxValue, cityUnemploymentRate, clientSalutationString et autres.

  • Cette technique de refactorisation est utile si vous prévoyez d'utiliser Extraire une méthode par la suite.

##How to Refactor

  1. Trouvez le premier endroit dans le code où une valeur est affectée à la variable. Vous devez y renommer la variable avec un nom qui correspond à la valeur affectée.

  2. Utilisez le nouveau nom à la place de l'ancien aux endroits où cette valeur de la variable est utilisée.

  3. Répétez l'opération autant que nécessaire pour les endroits où une valeur différente est affectée à la variable.