Clean Code: Mengurangi Dosa Programmer

Norman Bintang
LEARNFAZZ
Published in
3 min readMay 1, 2019
Sumber: commadot.com

Pengembangan software yang memakan waktu cukup lama tidaklah mudah. Semakin lamanya waktu pengembangan, semakin besar codebase yang dihasilkan. Sangat susah bagi developer untuk mengingat maksud dari setiap baris isi codebase. Untuk itu kita memerlukan clean code.

Beberapa aturan yang penting dari clean code:

Nama yang memiliki makna:

  • Nama dari class, variable, dan method harus jelas dan penuh arti.
  • Hindari penggunaan singkatan yang tidak jelas.

Walaupun Impl merupakan singkatan, tetapi masih diperbolehkan karena sudah merupakan hal umum dan tidak ambigu.

Function:

  • Nama method harus berupa kata kerja.
  • Sebuah method hanya melakukan sesuatu yang sesuai dengan namanya.
  • Jangan memiliki method yang terlalu panjang.
  • Method yang baik haruslah seperti menceritakan flow program dari atas ke bawah

Pada contoh di atas, method Register dimulai dari mengupload photo, kemudian mencari hash dari pasword, membuat objek user, dan membuatkan token untuk user. Walaupun method app.uploadPhoto hanya dipakai sekali, tetapi dengan penulisan seperti di atas, method register jadi lebih mudah terbaca.

Comments:

  • Kode yang baik seharusnya dapat terbaca tanpa adanya comments.
  • Penulisan comment harus singkat, padat, dan jelas.
  • Comments hanya dibutuhkan saat ada kode yang memang fungsinya tidak terlalu obvious.

Mungkin jika tidak ada komentar, pembaca code tersebut akan bertanya-tanya mengapa photoPath perlu direplace. Tetapi komentar tersebut menjelaskan karena directory dan url sama-sama menggunakan tanda slash ‘/’, maka salah satu perlu diubah agar ada yang membedakan.

  • Hal yang lebih berbahaya dari tidak menulis comment adalah menulis comment yang tidak terupdate. Karena itu, disarankan untuk sesedikit mungkin membuat comment demi menghindari comment yang menyesatkan.

Formatting:

Code yang memiliki format yang baik lebih mudah untuk dibaca. Misalkan code yang Anda baca tidak memiliki indentasi. Pasti sangat sulit untuk dibaca. Beruntungnya kami menggunakan golang yang sudah memiliki formatter official bernama go-fmt. Dan dengan menggunakan editor vs-code, terdapat extension yang akan otomatis memformat code setiap kali menekan tombol save.

Selain formatter, untuk memastikan bahwa code yang dibuat mengikuti format yang baik, kami juga menggunakan linter. Dan lagi-lagi, golang juga memiliki linter official bernama go-lint. Linter kami pasang pada pipeline agar code yang tidak baik tidak bisa dimerge.

Error Handlings

  • Kemungkinan-kemungkingan munculnya error harus diperhatikan oleh programmer.

Query SELECT hampir tidak mungkin menghasilkan error. Tetapi hanya hampir. Masih mungkin memunculkan error. Untuk itu tetap perlu dilakukan error handling.

Boy Scout Rule:

Always leave the campground cleaner than you found it. Dalam pengerjaan suatu fitur terkadang kita menemukan code yang berantakan. Tidak peduli itu sampah kita sendiri maupun sampah yang ditinggalkan orang yang lebih dulu. Kita harus membersihkannya walaupun bukan pekerjaan kita. Demi menciptakan lingkungan yang lebih bersih :).

Diharapkan dengan memperhatikan poin-poin di atas, jumlah wtfs per minute saat code review berkurang dan dosa yang dihasilkan programmer lebih sedikit.

--

--