Tenho certeza de que existe um prazo para a refatoração a seguir, mas não consigo me lembrar e meu Google-fu está falhando comigo!
O refator move se as declarações para onde elas terão maior impacto, por exemplo, alterando isso
$test = someFunctionThatReturnsABool();
for($x = 0; $x < 10000; $x++) {
if ($test) {
echo $x;
}
}
Para isso
$test = someFunctionThatReturnsABool();
if ($test) {
for($x = 0; $x < 10000; $x++) {
echo $x;
}
}
fonte
Isso também é chamado
hoisting
ouscalar promotion
. Veja aqui :fonte
Parece uma variante do Remove Control Flag (pp 245 da refatoração de Fowler )
Um exemplo de PHP pode ser encontrado no DZone .
fonte
Eu não acho que essa refatoração exista.
Portanto, seria difícil encontrá-lo entre as "listas de refatorações".
Classificaria esse exemplo como uma otimização, não uma refatoração .
Refatorar, para mim, está mudando o código para melhorar sua compreensibilidade sem afetar seu comportamento.
Otimização, para mim, está mudando o código para melhorar o desempenho.
Como o código otimizado tende a ser menos fácil de entender. As duas práticas tendem a trabalhar uma contra a outra.
fonte