8.14. Does
“refactoring” mean that you modify the entire design iteratively? If not, what
does
it mean?
Refactoring
tidak harus mengubah keseluruhan desain iteratifnya, refactoring adalah teknik reorganisasi yang menyederhanakan desain (atau kode) dari komponen
tanpa mengubah fungsinya atau perilaku. Fowler mendefinisikan
refactoring dengan cara sebagai berikut:
"Refactoring adalah proses mengubah perangkat lunak sistem sedemikian rupa bahwa
itu tidak mengubah perilaku eksternal dari kode [desain]
menigkatkan struktur internal. "
Ketika perangkat lunak refactored, desain yang ada diperiksa untuk redundansi, elemen desain yang tidak terpakai, tidak efisien atau algoritma yang tidak perlu, buruk dibangun atau pantas struktur data, atau kesalahan desain lain yang dapat diperiksa untuk menghasilkan desain yang lebih baik. Misalnya,
desain iterasi pertama mungkin menghasilkan komponen yang menunjukkan kohesi rendah (yaitu, ia melakukan tiga fungsi
yang hanya memiliki hubungan yang terbatas satu sama lain). Setelah pertimbangan cermat, Anda mungkin memutuskan bahwa komponen harus refactored menjadi tiga komponen yang terpisah, masing-masing menunjukkan kohesi tinggi.
Jadi
refactoring digunakan untuk memperbaiki secara internal tanpa menganggu sifat
eksternal. Berikut merupakan contoh dari langkah-langkah Refactoring
Large Software Systems.
pada artikel tersebut
dibahas secara keseluruhan tentang refactoring, sama seperti metode lain, dalam
refactoring juga dibutuhkan banyak hal, mulai dari analisa hingga implementasi,
namun ada beberapa perbedaan dari refactoring dengan metode-metode
lainnya.
0 komentar:
Posting Komentar