Apa itu Clean Code dan kenapa begitu penting? — Part 1
Beberapa waktu lalu saya harus membuka sebuah aplikasi yang pernah saya develop beberapa tahun lalu — ketika masih kuliah, untuk di modifikasi dan pakai ulang. Dan setelah mencoba memodifikasi sekitar seharian akhirnya saya memilih untuk membuat ulang aplikasinya. Dan yah, saya baru sadar ternyata saya sendiri sangat susah membaca codingan yang saya ketik sendiri 5 tahun lalu.
Kenapa hal ini bisa terjadi?
Karena 5 tahun lalu saya belum mengenal clean code, sehingga codingannya tidak mengikuti standard conventions, penamaan variable dan function yang susah di mengerti dan kekurangan lainnya.
Ibaratnya bahasa, pemograman juga memiliki aturan — aturan yang jika di ikuti akan membuat codingan kita lebih mudah di pahami oleh diri sendiri dan orang lain. nah, teknik inilah yang sering di sebut dengan “Clean Code”.
Karena alasan inilah akhirnya saya tertarik untuk membaca buku clean code karya Robert C. Martin dan agar bacaan saya bermanfaat maka summary akan saya tulis disini dalam beberapa part.
Apa itu Clean Code?
Code is clean if it can be understood easily — by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.
Menurut Robert, clean code adalah kumpulan code yang mudah di baca, mudah di mengerti dan mudah di maintenance oleh developernya sendiri ataupun yang lain.
Menurut saya sederhananya clean code adalah sebuah metode untuk menulis barisan code menjadi lebih rapi, mudah di baca, bisa di mengerti oleh siapapun dan mudah untuk di costumize oleh siapapun jika nantinya ada perubahan.
Kenapa Clean Code begitu penting?
Apa jadinya jika kamu berapa dalam satu diskusi di ruangan dengan orang yang berbicara dengan bahasa daerah yang kamu tidak mengerti? pasti anda akan terdiam, gak mengerti isi percakapan apalagi jika mau ikut untuk berdiskusi. Yup, itu rasanya jika anda harus melanjutkan develop aplikasinya yang codenya berantakan, jangankan untuk mengubah mengerti aja susah. kalau anak — anak jaman sekarang bilang wanita susah di mengerti, mereka belum merasakan ketika harus mengerti code orang yang berantakan. code yang berantakan ini sering di “code smell”, yaitu code yang memiliki masalah yang besar di dalamnya.
Code smell inilah yang akan menyebabkan masalah jika tidak segera di tangani, masalah bisa menjadi semakin lama semakin besar. hal ini di kenal dengan istilah technical debt. rekan saya sudah membahas tentang technical debt di post berikut.
Ada 8 topic yang menurut saya di bahas dalam buku clean code robert martin. diantaranya :
- General Rules
- Design Rules
- Names Rules
- Function Rules
- Comment Rules
- Source Code Structure
- Object and Data Structures
- Unit Test
Rencana saya setiap harinya saya akan menuliskan 1 topic, — semoga saya bisa konsisten.
General Rules
Tidak ada aturan dasar yang baku untuk memahami clean code, itu semua tergantung buku yang kamu baca dan merujuk kepada siapa. karena saya membaca buku clean code punya si Robert Martin jadi saya menjelaskan berdasarkan pemahaman saya dari bukunya tersebut.
Follow standard conventions.
Setiap bahasa pemograman pasti memiliki standard conventions sendiri, dan biasanya semua programmer mengikuti standard ini agar code mereka mudah di baca oleh programmer lainnya.
Keep it simple stupid. Simpler is always better. Reduce complexity as much as possible.
Ini juga di kenal dengan istilah KISS, sederhananya “solusi yang simple lebih baik daripada solusi yang yang complex, meskipun keliatannya bodoh”.
Boy scout rule. Leave the campground cleaner than you found it.
Inti dari aturan ini adalah seberapapun berat tekanan (bisnis, deadline, dll) jangan pernah tinggalkan code smell dalam code kamu.
Always find root cause. Always look for the root cause of a problem.
Jangan hanya perbaiki bug, tapi pastikan temukan akar masalahnya. Pernah gak merasa tiba — tiba bug hilang sendiri. Nah, itu adalah bug sebenarnya. Selalu temukan alasan kenapa sebuah bug terjadi dan teratasi.
Besok kita lanjut lagi dengan pembahasan Design Rules, semoga tulisan sederhana ini bermanfaat dan hasil bacaan saya dari buku clean code tidak sia — sia.