Saya yakin ada istilah untuk sedikit refactoring berikut, tetapi saya tidak dapat mengingatnya dan Google-fu saya gagal!
Refactor bergerak jika pernyataan di mana mereka akan memiliki dampak paling besar, misalnya mengubah ini
$test = someFunctionThatReturnsABool();
for($x = 0; $x < 10000; $x++) {
if ($test) {
echo $x;
}
}
Untuk ini
$test = someFunctionThatReturnsABool();
if ($test) {
for($x = 0; $x < 10000; $x++) {
echo $x;
}
}
sumber
Ini juga disebut
hoisting
atauscalar promotion
. Lihat di sini :sumber
Sepertinya varian dari Remove Control Flag (hlm. 245 dari Fowler's Refactoring )
Contoh PHP dapat ditemukan di DZone .
sumber
Saya kira refactoring semacam itu tidak ada.
Jadi, akan sulit untuk menemukannya di antara '' daftar refactorings ''.
Saya akan mengklasifikasikan contoh itu sebagai pengoptimalan bukan refactoring .
Refactoring, bagi saya, mengubah kode untuk meningkatkan pemahamannya tanpa mempengaruhi perilakunya.
Optimalisasi, bagi saya, mengubah kode untuk meningkatkan kinerja.
Karena kode yang dioptimalkan cenderung kurang mudah dipahami. Kedua praktik tersebut cenderung saling bertentangan.
sumber