Jestem pewien, że istnieje termin na ponowną refaktoryzację, ale nie pamiętam go, a mój Google-fu mnie zawodzi!
Refaktor przesuwa się, jeśli instrukcje, do których będą miały największy wpływ, na przykład zmieniając to
$test = someFunctionThatReturnsABool();
for($x = 0; $x < 10000; $x++) {
if ($test) {
echo $x;
}
}
Do tego
$test = someFunctionThatReturnsABool();
if ($test) {
for($x = 0; $x < 10000; $x++) {
echo $x;
}
}
źródło
Jest to również nazywane
hoisting
lubscalar promotion
. Zobacz tutaj :źródło
Wygląda jak wariant Usuń flagę kontrolną (str. 245 Refaktoryzacji Fowlera )
Przykład PHP można znaleźć na DZone .
źródło
Nie sądzę, że takie refaktoryzacja istnieje.
Trudno byłoby więc znaleźć go wśród „list refaktoryzacji”.
Sklasyfikowałbym ten przykład jako optymalizację, a nie refaktoryzację .
Według mnie refaktoryzacja zmienia kod, aby poprawić jego zrozumiałość bez wpływu na jego zachowanie.
Dla mnie optymalizacja zmienia kod, aby poprawić wydajność.
Ponieważ zoptymalizowany kod jest trudniejszy do zrozumienia. Te dwie praktyki działają przeciwko sobie.
źródło