Design Pattern siapp membantu Anda!

Yudistira Hanifmuti
PPL Teman Bisnis
Published in
3 min readMay 28, 2019

Bertemu kembali dengan saya, Yudistira. Pada kesempatan kali ini, saya ingin berbagi cerita apa itu refactoring dan design pattern dan bagaimana kelompok teman bisnis A1 gunakan melakukan refactoring dengan design pattern.

Refactoring & Design Pattern

Clean code adalah tujuan dari setiap programmer. Untuk anda yang belum akrab dengan istilah clean code, silahkan anda mengunjungi blog saya sebelumnya. Saya akan membahas clean code lagi, namun masih ada hubungannya dengan menerapkan dan mencapai clean code, yaitu Refactoring dan Design Pattern.

Refactoring, Berubah tapi Tidak Berbeda

Pertama kali saya mendapatkan materi refactoring adalah saat mengambil mata kuliah Advance Programming. Definisi dari refactoring adalah proses mengubah struktur dari kode (kode yang sudah dibuat) tanpa mengubah perilaku aslinya (external behavior).

Ada beberapa alasan mengapa refactoring dilakukan. Namun, alasan yang utama adalah memperbaiki dan memperbagus struktur internal dari suatu (bagian) kode. Alasan-alasan lainnya kurang lebih serupa dengan tujuan dari penerapan clean code. Membuat menjadi lebih mudah dibaca dan lebih mudah mencari bug, juga alasan modularity dan reusability.

Refactor dilakukan untuk “membasmi” code smells. Beberapa jenis code smells seperti long method, duplicate code, terlalu banyak parameter dan lain-lain. Seperti yang saya jelaskan pada bagian sebelumnya, kelompok kami sudah menggunakan linter untuk mengatasi sebagian code smells (sudah tersedia). Hal-hal lain yang perlu diperhatikan dan perlu diperiksa sendiri adalah adanya kode duplikat. Biasakan menggunakan abstract class dan teknik lain untuk mengatasi hal tersebut.

dalam TDD

Refactor juga menjadi salah satu tahap dalam skema pemrograman TDD. Proses refactoring biasa dilakukan setelah kode sudah melalui test (GREEN). Test dapat dimanfaatkan sebagai indikator apakah kode berubah perilaku dari yang sebelumnya sehingga dapat menggagalkan test (RED).

Design Pattern, Belajar dari Pengalaman

Image result for design pattern programming
Beberapa design pattern

Pernahkah Anda bertemu suatu permasalahan (dalam software engineering) yang belum pernah Anda temui? Lalu, Anda mencari tahu di stackoverflow bagaimana cara menyelesaikan permasalahan tersebut? Konsep yang akan dibahas mirip seperti contoh di atas, namun untuk permasalahan yang sedikit lebih kompleks.

Dalam software engineering, Design Pattern adalah pasangan masalah dengan solusi. Design Pattern adalah solusi umum yang dapat digunakan ulang untuk mengatasi suatu permasalahan software design tertentu. Design pattern bukanlah produk final yang bisa langsung dipakai begitu saja. Bentuknya adalah deskripsi atau template yang bisa digunakan untuk menyelesaikan masalah tersebut.

Alasan?

Ada beberapa alasan mengapa menggunakan design pattern sangat direkomendasikan, yaitu:

  1. Mempercepat proses pengembangan (Relatif, namun pasti lebih cepat daripada mulai dari awal).
  2. Sudah teruji dan dapat digunakan oleh orang lain (atau domain lain).
  3. Komunikasi dengan tim atau orang lain lebih mudah karena pattern sudah dikenal atau sering digunakan.

Bagaimana di tim A1?

Di kelompok kami, yang sebenarnya mungkin seluruh kelompok juga menggunakannya, kami menggunakan pattern yang standar dan sering digunakan dalam pengembangan

--

--