Estoy seguro de que hay un término para la siguiente refactorización, pero no puedo recordarlo y mi Google-fu me falla.
El refactor mueve si las declaraciones a donde van a tener el mayor impacto, por ejemplo, cambiando esto
$test = someFunctionThatReturnsABool();
for($x = 0; $x < 10000; $x++) {
if ($test) {
echo $x;
}
}
A esto
$test = someFunctionThatReturnsABool();
if ($test) {
for($x = 0; $x < 10000; $x++) {
echo $x;
}
}
fuente
Esto también se llama
hoisting
oscalar promotion
. Mira aquí :fuente
Parece una variante de Eliminar bandera de control (pp 245 de Refactorización de Fowler )
Un ejemplo de PHP se puede encontrar en DZone .
fuente
No creo que exista tal refactorización.
Por lo tanto, sería difícil encontrarlo entre las "listas de refactorizaciones".
Clasificaría ese ejemplo como una optimización, no como una refactorización .
Refactorizar, para mí, es cambiar el código para mejorar su comprensión sin afectar su comportamiento.
La optimización, para mí, está cambiando el código para mejorar el rendimiento.
Dado que el código optimizado tiende a ser menos fácil de entender. Las dos prácticas tienden a funcionar una contra la otra.
fuente