#kamiskoding #13: Refactoring (lanjutan)

Yuk ah… kita mulai bahasan #kamiskoding ttg refactoring. Pekan lalu kita sudah bahas what dan why dari refactoring. Lanjut….🙂
Thu May 31 2012 – 07:38:55 [+7hr]

Kapan refactoring perlu dilakukan? Sebisa mungkin secepatnya. Pembenahan sambil jalan relatif lebih mudah drpd setelah selesai. #kamiskoding
Thu May 31 2012 – 07:44:56 [+7hr]

Juga supaya ide pembenahan tak sampai terlupakan krn terlalu lama ditunda. Menulis program saat ide masih segar tentu beda.🙂 #kamiskoding
Thu May 31 2012 – 07:47:05 [+7hr]

Tapi dlm prakteknya, refactoring boleh ditunda jika sifatnya minor dan tak mendesak. Kerja selesai tepat waktu juga penting. #kamiskoding
Thu May 31 2012 – 07:48:56 [+7hr]

Bagaimana melakukan refactoring yg baik dan benar? Jawabannya terkait dgn ‘what’ dan ‘why’ yg sudah kita bahas di pekan lalu. #kamiskoding
Thu May 31 2012 – 07:54:39 [+7hr]

Pertama, refactoring hanya membenahi kode program, tidak mengubah fungsi dan perilaku program. Artinya, tak boleh ciptakan bug. #kamiskoding
Thu May 31 2012 – 07:55:46 [+7hr]

Utk itu, pastikan setiap refactoring diuji dgn baik agar tak muncul bug baru yg tak perlu. Apalagi sampai ganggu proses devel. #kamiskoding
Thu May 31 2012 – 07:58:39 [+7hr]

Kedua, refactoring tak boleh ubah fungsi dan perilaku program. Artinya, jaga konsistensi kode program scr fungsi dan perilaku. #kamiskoding
Thu May 31 2012 – 08:00:46 [+7hr]

Misal, jika sebuah class punya method A dgn 2 parameter, maka refactoring tak boleh sampai mengubah itu. Efeknya akan sistemik. #kamiskoding
Thu May 31 2012 – 08:02:54 [+7hr]

Apalagi dlm kerja tim, perubahan seperti itu akan ganggu kerja anggota lain yg tak terkait dgn refactoring yg kita lakukan. #kamiskoding
Thu May 31 2012 – 08:04:42 [+7hr]

Lalu, siapa yg paling berhak menentukan refactoring perlu dilakukan atau tidak? Pertama, tentu programmer yg bersangkutan. #kamiskoding
Thu May 31 2012 – 08:08:51 [+7hr]

Krn dialah yg paling paham kode program yg ditulisnya. Tapi sayangnya, tak semua programmer paham pentingnya refactoring.🙂 #kamiskoding
Thu May 31 2012 – 08:10:41 [+7hr]

Maka seharusnya ada pihak kedua yg bisa “memaksa” programmer aslinya utk melakukan refactoring. Biasanya adalah atasannya. #kamiskoding
Thu May 31 2012 – 08:12:38 [+7hr]

Jika ada pihak kedua, maka logikanya harus ada proses code review (kajian kode) dari pihak yg bersangkutan (atasan tsb). #kamiskoding
Thu May 31 2012 – 08:14:11 [+7hr]

Dari kajian kode, si atasan bisa tentukan apakah suatu kode perlu refactoring/tidak. Terlepas refactoring mandiri programmer. #kamiskoding
Thu May 31 2012 – 08:16:10 [+7hr]

Code review ini bisa jadi bahasan menarik. Terkait juga dgn pair programming. Kapan2 kita bahas ya. *colek @jazle*🙂 #kamiskoding
Thu May 31 2012 – 08:21:10 [+7hr]

Jadi, refactoring adlh sebuah proses yg penting dlm programming. Apalagi jika metode development-nya berbasis iteratif (agile). #kamiskoding
Thu May 31 2012 – 08:22:52 [+7hr]

Namun, refactoring harus dilakukan dgn hati2 dan proporsional (secukupnya). Sedikit refactoring sama buruknya dgn kebanyakan. #kamiskoding
Thu May 31 2012 – 08:24:44 [+7hr]

Terlalu pelit refactoring akan hasilkan kode program yg sulit utk dibenahi, baik utk optimasi kinerja maupun keterbacaannya. #kamiskoding
Thu May 31 2012 – 08:25:50 [+7hr]

Terlalu banyak refactoring akan hasilkan kode program yg terlalu rumit akibat over-engineering, alias optimasi berlebihan. #kamiskoding
Thu May 31 2012 – 08:26:38 [+7hr]

Sesuaikan juga dgn jadwal development. Tak jarang refactoring bisa curi fokus programmer dari tugas utamanya pekerjaannya. #kamiskoding
Thu May 31 2012 – 08:29:19 [+7hr]

Dgn demikian selesai sudah bahasan refactoring dlm #kamiskoding pekan ini. Silakan jika ada tanggapan. Semoga bermanfaat. Terima kasih.🙂
Thu May 31 2012 – 08:34:27 [+7hr]

Btw, programmer2 dewa yg udah kuliah S2 mbok ya sekali2 ngisi #kamiskoding juga dong. Jgn pelit ilmu!😀 *colek @imam_ms @soulfadj*
Thu May 31 2012 – 08:40:19 [+7hr]

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: