Kode yang Bau, Bau apa Emang?

Kali ini aku akan berbagi cerita tentang Code Smell atau Kode yang Bau. Kok bisa sih kode menjadi Bau. Emang baunya seperti apa? Yang dimaksud kode bau di sini bukan bau seperti bau kecut orang yang belum mandi ya. Jadi kode yang bau adalah istilah yang menggabarkan bahwa kode aplikasi yang kita buat bisa saja akan menjadi masalah meskipun saat kita jalankan tidak terjadi masalah.

Kenapa aku tertarik membahas ini? Ceritanya beberapa bulan yang lalu aku menggunakan SonarCube untuk melakukan analisa terhadap coding yang aku buat. Saat melihat hasil alinalisa untuk yang pertama kalinya aku sangat kaget karena menurut SonarCube, aplikasi yang aku buat punya ribuan issues terkait dengan Code Smell. Lalu aku menjadi kepikiran kan ya, apa sih Code Smell itu. Kok banyak banget Code Smell-nya.

terlalu banyak kode yang bau

Setelah aku buka isi laporan tentang Code Smell ternyata isinya banyak yang sangat sepele. Misalnya saja menulis variable dengan snake case, tidak menggunakan spasi setelah nama fungsi, ada variable yang tidak digunakan, dan masih banyak lagi. Lalu masalahnya dimana? Berikut ini beberapa potensi masalah jika kita banyak memiliki Code Smell.

  • Sulit melakukan pemeliharaan (maintanability)
  • Sulit memahami coding (readability)
  • Berpotensi bug yang tinggi
  • Sulit melakukan pengembangan lebih lanjut (extensibility)
  • Tidak Efisien

Jika tidak error kenapa kita harus membetulkan Code Smell itu? Ada analogi menarik yang aku dapatkan saat diskusi dengan Gemini. Menurut dia kita bisa menganalogikan coding kita ini sebagai sebuah dapur. Biasanya dapur kita itu bersih, tapi suatu hari ada bau gas yang muncul di dapur kita. Memang sih dapur kita tidak kebakaran dengan bau gas itu, tapi jika kita tidak segera menghilangkan penyebab dari bau gas itu bisa jadi dapur kita akan kebaran. Seperti itu juga sifat kode yang bau. Jika kita tidak segera menyelesaikannya, bisa jadi coding kita akan bermasalah di kemudian hari.

Apa saja sih Kode yang Bau itu?

Sekarang mari kita lihat, apa saja yang menyebabkan Code Smell pada aplikasi kita.

Long Method (Metode yang Panjang)

Salah satu yang mungkin sering kita lakukan adalah menulis metode atau fungsi dengan nama yang terlalu panjang. Hal ini akan mengakibatkan coding yang kita buat sulit dibaca, dipahami dan diuji.

Large Class (Kelas yang Besar)

Kelas yang besar artinya punya banyak metode di dalamnya. Menurut SonarCube, maksimul method yang ada di dalam sebuah kelas adalah 20. Terlalu banyak method pada kelas juga akan melanggar prisip Single Responsibility.

Long Parameter List (Daftar Parameter yang Panjang)

Parameter yang terlalu banyak pada suatu method akan membuat method yang kita buat terlalu sulit untuk diuji. Jika memang method yang kita buat memiliki tanggung jawab besar, kita bisa memecahnya sehingga method memiliki tanggung jawab yang lebih sederhana.

Switch Statements (Pernyataan Switch yang Panjang)

Selanjutnya yang menjadi kode yang bau adalah switch atau if-else yang terlalu panjang. Tentu saja pernyataan yang terlalu panjang akan membuat kita sulit untuk memahami coding kita sendiri.

Duplicate Code

Duplikasi coding yang kita buat pasti akan membuat masalah. Salah satunya adalah masalah inkonsistensi hasil. Misalnya kita punya 3 blok code yang sama dengan tugas yang sama. Suatu saat kita diminta untuk mengubah hasilnya. Setelah kita ubah ternyata kita lupa mengubah kode yang lain. Hal inilah yang akan menyebabkan inkonsistensi.

Sebenarnya, diluar apa yang sudah aku sebutkan itu, masih banyak sekali hal-hal yang menyebabkan Code Smell, tapi aku hanya menuliskan beberapa saja. Jika ingin melihat lebih lengkap kita bisa mengunjungi link ini https://refactoring.guru/refactoring/smells. Jika ingin melakukan deteksi Code Smell, kita juga bisa memanfaatkan SonarCube.

Nah, demikianlah sekilas tentang apa itu kode yang bau. Meskipun tidak menyebabkan masalah saat ini, kita harus tetap waspada dengan kode itu karena berpotensi menyebabkan masalah dikemudian hari.

Ardhan Wahyu Rahmanu
Ardhan Wahyu Rahmanu

Aku adalah seorang pemikir sistematis yang idealis, mandiri, dan reflektif — terus-menerus membangun hidup yang bermakna melalui belajar, bekerja, menulis, dan menjaga arah hidup yang sadar.

Articles: 99

Tinggalkan Balasan

error: Content is protected !!