Je suis sûr qu'il y a un terme pour le refactoring suivant, mais je ne m'en souviens pas et mon Google-fu me manque!
Le refactor se déplace si les instructions sont là où elles auront le plus d’impact, par exemple en modifiant cette option.
$test = someFunctionThatReturnsABool();
for($x = 0; $x < 10000; $x++) {
if ($test) {
echo $x;
}
}
Pour ça
$test = someFunctionThatReturnsABool();
if ($test) {
for($x = 0; $x < 10000; $x++) {
echo $x;
}
}
Ceci est aussi appelé
hoisting
ouscalar promotion
. Voir ici :la source
Ressemble à une variante de Remove Control Flag (p. 245 de la refactorisation de Fowler )
Un exemple PHP peut être trouvé sur DZone .
la source
Je ne pense pas qu'un tel refactoring existe.
Donc, il serait difficile de le trouver parmi les "" listes de refactorisation ".
Je classerais cet exemple dans une optimisation et non dans une refactorisation .
Pour moi, le refactoring consiste à changer le code pour améliorer sa compréhensibilité sans affecter son comportement.
Pour moi, l’optimisation change le code pour améliorer les performances.
Depuis code optimisé a tendance à être moins facile à comprendre. Les deux pratiques ont tendance à se contrarier.
la source