Ich bin mir sicher, dass es einen Begriff für das folgende Refactoring gibt, aber ich kann mich nicht daran erinnern, und mein Google-Fu hat mich verfehlt!
Der Refaktor bewegt sich, wenn Anweisungen dahin gehen, wo sie den größten Einfluss haben, z. B. um dies zu ändern
$test = someFunctionThatReturnsABool();
for($x = 0; $x < 10000; $x++) {
if ($test) {
echo $x;
}
}
Dazu
$test = someFunctionThatReturnsABool();
if ($test) {
for($x = 0; $x < 10000; $x++) {
echo $x;
}
}
quelle
Dies wird auch als
hoisting
oder bezeichnetscalar promotion
. Sehen Sie hier :quelle
Sieht aus wie eine Variante von Remove Control Flag (S. 245 von Fowler's Refactoring )
Ein PHP-Beispiel finden Sie auf DZone .
quelle
Ich glaube nicht, dass es ein solches Refactoring gibt.
Daher wäre es schwierig, es in den „Listen der Umgestaltungen“ zu finden.
Ich würde dieses Beispiel als Optimierung und nicht als Refactoring einstufen .
Refactoring bedeutet für mich, den Code zu ändern, um seine Verständlichkeit zu verbessern, ohne sein Verhalten zu beeinträchtigen.
Optimierung bedeutet für mich, den Code zu ändern, um die Leistung zu verbessern.
Da optimierter Code tendenziell weniger leicht zu verstehen ist. Die beiden Praktiken arbeiten in der Regel gegeneinander.
quelle