Extraire une variable.
Vous avez une expression difficile à comprendre.
Placez le résultat de l'expression ou de ses parties dans des variables distinctes qui se passent d'explication.
##Example
void renderBanner() {
if ((platform.toUpperCase().indexOf("MAC") > -1) &&
(browser.toUpperCase().indexOf("IE") > -1) &&
wasInitialized() && resize > 0 )
{
// do something
}
}void renderBanner() {
final boolean isMacOs = platform.toUpperCase().indexOf("MAC") > -1;
final boolean isIE = browser.toUpperCase().indexOf("IE") > -1;
final boolean wasResized = resize > 0;
if (isMacOs && isIE && wasInitialized() && wasResized) {
// do something
}
}##Why Refactor
La principale raison d'extraire des variables est de rendre une expression complexe plus compréhensible, en la divisant en ses parties intermédiaires. Il peut s'agir de :
-
La condition de l'opérateur
if()ou une partie de l'opérateur?:dans les langages dérivés du C -
Une longue expression arithmétique sans résultats intermédiaires
-
De longues lignes en plusieurs parties
Extraire une variable peut être la première étape vers l'application d'Extraire une méthode si vous constatez que l'expression extraite est utilisée à d'autres endroits de votre code.
##Benefits
- Du code plus lisible ! Essayez de donner aux variables extraites de bons noms qui annoncent leur but haut et fort. Plus de lisibilité, moins de commentaires interminables. Privilégiez des noms comme
customerTaxValue,cityUnemploymentRate,clientSalutationString, etc.
##How to Refactor
-
Insérez une nouvelle ligne avant l'expression concernée et déclarez-y une nouvelle variable. Affectez-lui une partie de l'expression complexe.
-
Remplacez cette partie de l'expression par la nouvelle variable.
-
Répétez le processus pour toutes les parties complexes de l'expression.