← Back to list

So Klin Code

Clean Code and Refactoring

Adib yusril Wafi in sinadin · 2019-04-15 18:31 · 0 claps · 3.1 min read
#adib
Open on Medium ↗
Wiki topics: 💻 · Programming

So Klin Code

Dalam penulisan sebuah kode program, kita tidak boleh hanya mengutamakan aspek fungsionalitasnya saja, melainkan juga harus memperhatikan aspek readability dari kode tersebut.

Sebuah kode yang memiliki aspek readability yang baik sering kita sebut dengan clean code. Ada beberapa keuntungan yang bisa dicapai dengan menerapkan clean code, di antaranya sebagai berikut :

  • Mempercepat proses development secara signifikan, terutama ketika proses tersebut dijalankan oleh tim development yang tidak sama karena mereka lebih mudah memahami kode yang dikerjakan oleh tim development sebelumnya.
  • Memudahkan proses debugging. Karena kode tersebut mudah dipahami, proses debugging pun akan menjadi lebih mudah.

Things to Remember

Ada beberapa hal yang harus dilakukan untuk menerapkan prinsip clean code, di antaranya sebagai berikut :

  1. Penamaan variable dan function yang jelas.

Penamaan variable dan function yang dilakukan harus sesuai dengan isi dan tujuan dari variable dan function tersebut. Function biasanya menggunakan nama berbentuk kata kerja dan variable menggunakan kata benda. Penamaan yang bagus dapat memudahkan kita dalam memahami kode dengan cepat.

  1. Pengkodean Error dan Exception Handling.

Antipasi diperlukan untuk handling error sehingga aplikasi tidak rusak saat runtime.

  1. D.R.Y

Penulisan kode yang berulang-ulang sangat tidak efektif dan hanya akan membuat aplikasi berjalan lama.

  1. Layout Formatting.

Penulisan kode yang rapih akan enak dipandang, karena penulisan yang berantakan akan membuat developer lain pusing saat melihat kode kita.

REFACTORING

TDD Cycle

TDD Cycle

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

Refactoring berguna agar kode yang kita buat 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. Berikut salah satu refactoring yang telah saya lakukan.

  • Before Refactoring.

Pada proses awal penambahan super_nip pada tabel users saya hanya mengganti migration tabel users saja. Hal ini tidak baik dilakukan karena dapat menyebabkan konflik pada pekerjaan teman saya yang lain.

super_nip still masih di migration tabel users

super_nip still masih di migration tabel users

  • After Refactoring.

Saya melakukan refactoring dengan cara membuat sebuah migration baru yang akan menambahkan kolom super_nip pada tabel users. Sehingga tidak akan terjadi konflik pada migration tabel users pada branch yang lain.

super_nip berada di migration baru.

super_nip berada di migration baru.

Design Pattern

  • Factory Pattern.

menyediakan interface yang dapat digunakan untuk membuat objek tanpa harus menspesifikasikan concrete class nya.

Using View Factory

Using View Factory

View Factory

View Factory

  • Facade Pattern.

Sebuah kelas yang membungkus kelas lain yang lebih kompleks agar memudahkan penggunaan kelas lain tersebut.

Facade Class for Storage

Facade Class for Storage

Using the Storage Facade Class

Using the Storage Facade Class

  • Model-View-Controller Pattern.

pattern ini lebih bersifat architectural, penggunaannya sendiri merupakan dasar dari framework laravel. Dimana terdapat Models sebagai pengatur relasional database, Controllers yang menghandle input dari user dan fungsi-fungsi yang digunakan aplikasi, serta Views yang menjadi jembatan antara user dengan aplikasi berupa sebuah User Interface.

Models

Models

Controllers

Controllers

Views

Views


메타데이터
post_id
ebc4d93159ef
slug
so-klin-code-ebc4d93159ef
url
https://medium.com/sinadin/so-klin-code-ebc4d93159ef
canonical_url
https://medium.com/sinadin/so-klin-code-ebc4d93159ef
author_url
https://medium.com/@adibyw29
status
ok
fetched_at
2026-07-29 17:42:06