Applying ‘Clean Code’ to Make Better Code

Agas Yanpratama
PDB+R
Published in
5 min readApr 18, 2019

Hai haii pembaca story PDB-R yang budiman :) Sekarang, saya ingin menjelaskan tentang sebuah teori yang cukup penting saat kita membuat sebuah aplikasi, yaitu konsep clean code dan mengapa kita harus menggunakannya.

Bad Code

Ilustrasi Bad Code

Pada tahun 80an ada sebuah perusahaan yang membuat sebuah aplikasi yang sangat diminati dan dinobatkan menjadi sebuah killer app pada tahun tersebut. Aplikasi tersebut sangat populer dan banyak yang membeli aplikasi tersebut. Kemudian ketika ada bugs tidak diperbaiki di tiap rilisnya, dan makin lama semakin banyak fitur yang tidak teroptimisasi membuat aplikasi tersebut berjalan lambat dan lama kelamaan sering crash sehingga banyak orang tidak memakainya lagi.

Salah satu karyawan perusahaan tersebut menjelaskan penyebab dari kesalahan itu adalah perusahaan terlalu memaksakan agar aplikasi di rilis sehingga banyak code yang berantakan. Semakin banyak fitur yang ditambahkan di tiap rilisnya code yang dibuat makin lama makin buruk dan sampai pada titik mereka tidak bisa mengurus code yang ada pada aplikasi tersebut.

Jadi apa sebenarnya penyebab dari bad code:

  • Terburu — buru dalam membuat code
  • Merasa tidak memiliki waktu untuk membuat clean code, sehingga hanya berfokus agar code jalan sesuai dengan fungsi.
  • Atasan Anda akan memarahi Anda jika mengambil waktu untuk membersihkan code yang dibuat.
  • Setelah melihat backlog, Anda sadar yang sedang dikerjakan diperlukan agar sistem bisa berjalan sesuai fungsinya.

Dan yang membuat benar — benar menjadi bad code adalah keputusan kita untuk membenarkannya di lain hari yang pada akhirnya. Lalu muncul pepatah later equals never. Karena kita merasa senang walaupun code berantakan, tetapi menjalankan fungsinya dengan sesuai.

Grafik dibawah ini

Semakin banyak code yang berantakan makin laman produktivitas menurun dan management biasanya hanya menambahkan programmer dengan harapan akan menaikkan produktivitas. Semakin lama ketika tim mengubah sesuatu akan ada 2–3 hal yang hancur pada program tersebut. Sampai ada pada sebuah titik dimana sudah tidak ada cara lagi untuk memperbaiki program tersebut.

Salah satu bagaimana mengilustrasikan pada awal membangun sebuah rumah ada jendela yang rusak dibiarkan begitu saja, lalu lama kelamaan mereka yang membangun rumah membiarkan saja semakin banyak jendela yang rusak. Lalu pada akhirnya mereka secara aktif merusak jendela yang masih berjalan dengan baik. Clean code memang tidak cost and time effective, melainkan ini adalah cara bagaimana sebuah program bisa bertahan begitu juga programmer yang sedang maupun akan membangun program tersebut.

Clean Code

I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy, and performance close to optimal so as not to tempt people to make the code messy with unprincipled optimizations. Clean code does one thing well. — Bjarne Stroustrup, inventor of C++ and author of The C++ Programming Language

Sebenarnya masih banyak definisi clean code, tetapi secara garis besar clean code berarti membuat code yang simpel dan mudah dimengerti karena dalam membuat sebuah program sejatinya tidak semua orang sendirian, tetapi berbarengan dalam satu tim. clean code berfungsi agar orang lain mudah dalam memahami code yang dibuat. Hal ini membuat sebuah program yang menggunakan clean code mudah dioptimisasi dan ditingkatkan maupun ditambahkan fiturnya.

Pengaplikasian Clean Code:

Salah satu survei bagaimana meningkatkan kualitas code

Salah satu hal paling mudah untuk membuat clean code adalah mengikuti konvensi penamaan yang ada pada tiap bahasa contohnya adalah pep8 yang merupakan konvensi penamaan dalam membuat program python.

Konsep-konsep pengaplikasian clean code adalah:

1. Menggunakan formatting, konvensi penamaan, dan segmentasi

Walaupun target kita sebenarnya adalah produk yang berjalan, tetapi kita harus memerhatikan bahwa produk yang dibuat nantinya akan dikembangkan lagi tidak hanya dengan developer awal, melainkan ada developer lain yang akan membantu. Jika code berantakan akan menyusahkan juga jika kita harus mengerjakan ulang fungsi yang sudah pernah dibuat

2. Menggunakan Komentar

Komentar menjelaskan apa fungsi itu secara singkat walaupun sudah lumayan sederhana fungsi yang dibuat,

3. Testing

Dengan adanya testing, jika kita mengubah fungsi yang telah dibuat orang lain dan fungsi tersebut menjadi error maka akan langsung diberitahukan ke developer tanpa harus masuk ke produk akhir.

4. DRY (Tidak mengulangi code)

Masalah dari DRY sendiri, jika menyalin code biasanya kita akan menyalin bug yang ada di dalam code. Jika sudah banyak yang diulang maka akan banyak juga yang harus dilakukan debugging.

5. Refactor

Clean code tidak selalu dibuat pertama kali. Sebagai developer harus sering dilihat kembali untuk meningkatkan kejelasan logic dan keterbacaan program yang dibuat.

A Little Joke about offline code review

Clean Code dalam SISIDANG-NG:

  1. Penggunaan PEP-8 dalam Pemrograman yang dicek oleh flake8

Salah satu error jika tidak sesuai dengan ketentuan:

Ada error

Jika tidak ada error:

2. Penerapan Code Review

3. Penggunaan konvensi penamaan aplikasi django:

4. Tidak mengulangi kode yang sudah dibuat pada otoriasasi login:

Fungsi decorator.py:

Pemanggilan fungsi:

Sekian, terima kasih telah membaca artikel ini :) Semoga dengan membaca ini Anda lebih memahami apa itu clean code. Nantikan artikel — artikel dari kami selanjutnya yaaaa !!!!

Referensi:

--

--