Week 4-5 Agung Ahmad – Refactoring

Refactoring

Istilah Refactoring pertama kali diperkenalkan oleh Martin Fowler dalam bukunya yang berjudul “Refactoring : Improving The Design of Existing Code”.

Secara singkat Refactoring yaitu melakukan modifikasi program untuk memperbaiki struktur, mengurangi kompleksitas, atau untuk membuatnya lebih mudah dimengerti.

Tanpa refactoring, code akan semakin rumit dan memerlukan biaya yang mahal jika dilakukan perubahan. Biasanya refactoring perlu dilakukan ketika sulit untuk mendapatkan sebuah rancangan yang benar pada iterasi pertama dalam pengembangan sistem.

Manfaat

  • Meningkatkan desain code pada software
  • Membuat source code  menjadi mudah dimengerti dan dipetakan
  • Mempermudah dalam proses menemukan bug
  • Membantu pemograman (pada iterasi berikutnya)  menjadi lebih cepat
  • Mempermudah proses delegasi antar programmer
  • Time development 

Kapan Refactoring perlu dilakukan?

  • The Rule of Three
  • Refactoring ketika akan atau setelah menambah fungsionalitas
  • Refactoring sebelum menambah fungsi untuk mempermudah penambahan fungsi tersebut. Atau lakukan setelah fungsi ditambahkan
  • Refactoring untuk memperbaiki bugs
  • Refactoring jika perlu  review program

Masalah

  • Basis data
    Aplikasi bisnis biasanya terhubung erat basis data. Namun, mengubah basis data tidak semudah mengubah suatu kode
  • Antarmuka
    Beberapa refactoring membutuhkan perubahan antarmuka. Akan jadi masalah jika source code antarmuka tidak ada.

Untuk Bad Smell dalam refactoring mungkin akan dijelaskan di postingan berikutnya.

Ref:

http://rpl.if.its.ac.id/refactoring/

http://maulidangames.com/artikel/Refactoring-dan-Code-Smell/69.html/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s