Home > programming > Refactoring – Examples

Refactoring – Examples

OK, setelah ‘tercium’ bad smells in code, refactoring seperti apa yang harus dilakukan ?

Berikut adalah beberapa contohnya:

  • jika ditemukan duplicated code (kode yang sama atau mirip tersebar di mana-mana sehingga menyulitkan jika perlu diubah), lakukan extract method, yaitu membungkus kode tersebut menjadi semua fungsi atau prosedur yang bisa dipanggil jika diperlukan…
  • jika ditemukan long method (fungsi atau prosedur yang terlalu panjang), lakukan juga extract method, yaitu memecah long method tersebut menjadi dua atau lebih method sehingga sebuah method bisa lebih fokus menangani hal tertentu…
  • jika ditemukan large class (kelas yang terlalu banyak ‘tugasnya’), lakukan extract class, yaitu memecah kelas tersebut menjadi dua atau lebih kelas sehingga setiap kelas bisa lebih fokus tanggung-jawabnya…

Beberapa contoh lain dari refactoring adalah:

  • Add Parameter; menambah parameter pada sebuah method
  • Change Association; mengubah asosiasi kelas dengan kelas lainnya
  • Collapse hierarchy; mengubah hirarki kelas (menggabung kelas bapak dan anaknya jika ternyata tidak ada perbedaan yang significant)
  • Consolidate conditionals; mengubah pernyataan kondisi sehingga lebih mudah dipahami
  • Extract Interface; mendefinisikan inferface baru
  • Extract subclass; mendefinisikan kelas turunan yang baru
  • Extract superclass; mendefinisikan sebuah kelas yang lebih general dari sekumpulan kelas yang ‘mirip’
  • dan masih banyak lagi…
Categories: programming
  1. No comments yet.
  1. No trackbacks yet.

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

%d bloggers like this: