Clean Code: Jagalah Kebersihan Kode

Kezia Sulami
4 min readMay 2, 2021

--

Ilustrasi seseorang yang memperhatikan kebersihan. Programmer juga harus menjaga kebersihan kode! :)

Pendahuluan

Clean code dapat dikatakan sebagai keadaan dari suatu kode program yang memenuhi sekumpulan kriteria tertentu. Secara umum, kriteria yang dimaksud dapat digunakan untuk mengevaluasi kualitas kode baik itu dari perspektif aplikasi secara keseluruhan, class, maupun methodnya, yang meliputi beberapa aspek. Aspek clean code termasuk di antaranya organisasi kelas, style format kode, aturan penamaan variable, dan error handling.

Tujuan Clean Code

Sekilas, sebuah kode ditulis dengan bersih dengan harapan kode tersebut enak dilihat, dan kita dapat mudah menemukan bagian yang kita ingin cari tahu di antara banyak barisan kode — mirip seperti berada di sebuah ruangan yang bersih. Selain itu, clean code juga ditulis secara sederhana dan efisien sehingga terlihat elegan, terhindar dari bugs yang susah ditemukan, dan mudah dimengerti dan dipelihara secara berkelanjutan oleh kita sendiri maupun developer lain.

Seperti di bidang-bidang lain, sebuah aturan dibuat untuk mendorong hal-hal yang dianggap baik, dan mencegah hal-hal buruk terjadi. Dalam kaitannya dengan kode, clean code harus dicapai karena merefleksikan kualitas kode yang baik sekaligus mencegah hal buruk seperti kebingungan di masa depan.

Manfaat Clean Code

  • Menghasilkan kode yang lebih jelas, enak dipandang, tidak memusingkan.
  • Tidak membuat kita bingung dengan kode kita sendiri dalam waktu dekat. Misal 2 hari kemudian sudah lupa ini kode apa, karena kode tidak bersih.
  • Tidak sulit dipelihara secara berkelanjutan karena memang sudah bersih. Tidak perlu usaha tambahan (yang bisa besar) untuk membersihkan kode.
  • Bugs atau kesalahan kode menjadi lebih mudah ditemukan sehingga lebih mudah pula diperbaiki. Hal ini karena kode yang bersih mudah dibaca.
  • Membuat kita sebagai penulis kode lebih bahagia karena kodenya indah.

Bagaimana mewujudkan Clean Code?

Pedoman clean code

  1. Buat penamaan yang bermakna, baik itu variabel, method, maupun kelas.
  2. Buat function dan kelas yang kecil dan melakukan satu hal saja (kohesif).
  3. Function seharusnya tidak memiliki efek samping yang tidak diharapkan.
  4. Komentar seperlunya. Tidak menulis komentar tidak penting / redundan.
  5. Membuat error handling seperti menggunakan try-catch dan exception.
  6. Melakukan Test Driven Development (TDD) untuk menghasilkan clean code!

Hindari code smell

Kode yang bersih tidak mengandung code smells. Berikut ini adalah contoh Code Smells pada level aplikasi, class, dan method, beserta penjelasannya.

Berikut adalah beberapa solusi yang berkaitan dengan suatu code smell.

1.Duplicate code: kurangi dengan mengenkapsulasi pada suatu method. Bagian kode yang duplikat bisa diganti menjadi memanggil method saja.

2.Large class: Pastikan kelas tidak terlalu besar dan ketika suatu kelas mulai menjadi terlalu besar, lebih baik dipecah menjadi beberapa kelas berbeda.

3.Long method: Solusinya mirip seperti large class. Ketika suatu method mulai terlalu besar, lebih baik dipecah menjadi beberapa method berbeda.

4.Excessive returner: Jangan mereturn lebih dari yang dibutuhkan oleh kode pemanggil method tersebut. Return yang tidak perlu lebih baik dihapus saja.

5.Identifier size: Buat nama variabel, method, maupun kelas yang ukurannya tepat — tidak terlalu panjang / terlalu pendek, deskriptif, mudah dipahami.

Artikel ini ditulis untuk Individual Review PPL CS Universitas Indonesia 2021

Clean Code pada PPL

SonarQube

Di PPL, kami menggunakan tools bernama SonarQube yang dapat membantu mengevaluasi kualitas kode. Ia akan memberi tahu ketika terdapat code smell sehingga saya menjadi sadar dan akan me-refactor kode saya agar lebih bersih lagi. SonarQube sangat membantu mewujudkan clean code.

Contoh peringatan code smell dari SonarQube sehingga saya sadar dan segera memperbaiki
Perbaikan saya untuk menghindari code smell yaitu komentar yang tidak perlu, lebih baik dihapus

Linter

Tools lain yang kami gunakan adalah Linter. Untuk front end, kami menggunakan ESLint. Jika kode tidak bermasalah maka job akan success sedangkan jika terdapat problem pada kode maka akan diberitahukan.

Success
ESLint memberitahukan bahwa terdapat 1 masalah

Untuk back end, kami menggunakan pylint. Seperti di front end, jika kode tidak bermasalah maka job akan success dan memperoleh nilai 10. Jika terdapat problem pada kode, maka nilai akan kurang dari 10 dan job failed.

Success dengan nilai 10/10
pylint memberi nilai 9.96/10 dan job gagal karena terdapat baris kode yang panjang dan indentasi yang salah

Berikut ini adalah contoh kode yang merupakan clean code karena class dan method tidak besar, hanya melakukan satu hal, penamaan class, method, dan variabel yang deskriptif, serta terdapat exception handling yang tepat.

Terima kasih!

Referensi

--

--