Refactoring and Design Pattern

Fari Qodri Andana
PPLSalemba
Published in
2 min readApr 15, 2019
TDD Cycle

Refactoring adalah proses menata ulang struktur code yang telah kita buat. Dalam proses TDD, tujuan pertama kali kita menulis sebuah code adalah agar code yang kita buat dapat lulus dalam semua tests (GREEN). Karena tujuan pertama inilah biasanya kita menulis code dalam struktur yang buruk dan tidak mengikuti best practice yang ada. Oleh karena itu, dilakukanlah refactoring

Refactoring berguna agar code kita lebih maintainable dan lebih optimal. Disinilah tests yang telah kita buat akan menjadi sangat berguna. Ketika kita melakukan refactoring, kita tidak perlu khawatir akan merusak fungsionalitas dari code yang sudah kita tulis. Kita hanya perlu menjalankan tests yang sudah kita buat. Jika semua tests lulus, maka refactoring yang kita lakukan telah sukses. Jika ada tests yang gagal, maka bagian yang kita refactor yang membuat tests tersebut gagal harus diperbaiki lagi sampai tests nya menjadi lulus kembali.

Proses refactoring sangat kental dengan restrukturisasi. Dalam melakukan proses tersebut, kita perlu panduan yang mampu memberikan arahan agar struktur baru yang telah kita buat kualitasnya tidak sama saja atau bahkan lebih buruk daripada sebelumnya. Panduan tersebut disebut sebagai design pattern.

Design pattern dalam software engineering adalah solusi yang dapat dilakukan berulang-ulang untuk masalah yang mirip dalam software design. Penggunaan design pattern yang cocok dan pengaplikasian yang baik dapat membuat code kita lebih maintainable dan lebih cepat untuk menyesuaikan kepada perubahan yang mungkin dapat terjadi.

--

--