Clean Code
Clean code is a code that is written by someone who cares
-Michael Feathers-
Mungkin istilah “Clean Code” masih tergolong asing di bagi kita. Untuk mengenal “Clean Code” dengan lebih mendalam, saya akan menjelaskan sekilas mengenai “Clean Code” ini. “Clean Code” ini biasa digunakan di dalam metode pengembangan software yang adaptif, dimana kebutuhan sistem bisa selalu berubah dan bertambah. Salah satu metode pengembangan software yang memanfaatkan konsep Clean Code ini adalah agile methodology.
Clean code adalah code di dalam software yang formatnya benar dan disusun dengan baik sehingga programmer lain dapat dengan mudah membaca atau memodifikasi code tersebut. Clean code diperlukan karena beberapa alasan, yang pertama adalah komunikasi, dengan membuat code yang rapi dan benar programmer dapat menyampaikan dengan tepat maksud dari code atau fungsi yang dibuat.
Alasan lainnya adalah untuk kolaborasi, dalam metodologi agile dimungkinkan modul yang sama dikerjakan secara tim, sehingga dengan code yang baik dan benar maka antar programmer tidak akan kesulitan saat akan melanjutkan pekerjaan dari programmer lain. Clean code juga dapat menghemat waktu dan biaya saat harus melakukan pemeliharaan terhadap sistem. Hal ini penting karena saat ini sumber daya manusia sangat mahal sehingga kita harus dapat seefisien mungkin dalam memanfaatkannya. Programmer menjadi lebih cepat untuk mempelajari code yang ada sehingga waktu yang digunakan menjadi lebih hemat. Dengan menerapkan clean code, biaya untuk memodifikasi software menjadi lebih murah dan kualitas dari software meningkat.
Untuk dapat mengatakan bahwa sebuah sofware sudah memenuhi syarat Clean Code, terdapat beberapa kriteria yang harus diperhatikan yaitu :
- Coupling Rendah – code ditulisan dengan coupling yang serendah mungkin sehingga jika terjadi kesalahan, hanya bagian yang salah saja yang harus diperbaiki. Jika diumpamakan dalam kehidupan sehari-hari, hubungan antara baterai denga iphone adalah hubungan dengan coupling yang tinggi karena saat baterai iphone rusak maka seluruh handphone harus diganti. Sedangkan pada handphone nokia, couplingnya rendah karena jika baterainya rusak, kita cukup mengganti baterainya saja.
- Tinggi Cohhesion – kohesi yang tinggi membuat di dalam class dan komponen membuat code menjadi lebih simple, struktur code jadi lebih mudah dipahami.
- Class-class kecil – Jangan membuat class atau fungsi yang terlalu panjang sehingga tujuan atau fungsi dari class tersebut menjadi lebih jelas. Dan semakin panajng atau besar sebuah class akan semakin meningkat kemungkinan adanya bugs.
- DRY (Don’t Repeat Yourself) – hindari duplikasi. Jangan mengulangi class atau fungsi yang sama di dalam sebuah code.
- Nama yang sesuai – berikan nama untuk class, fungsi, dan variabel sesuai dengan fungsinya.
- Konsisten – mengikuti aturan yang sudah ditetapkan. Contohnya jika ditentukan bawah jika class terdiri dari lebih satu kata, maka nama class harus dipisahkan dengan _ antara katanya. Maka di semua code harus mengikuti aturan ini.
- Tanpa komentar – buatlah code sejelas mungkin sehingga tanpa menggunakan comment fungsi dari class terebut sudah dapat diketahui. Tujuan lain adalah untuk menghindari kebingungan antara comment dan isi code. Sering terjadi saat code diubah namun comment yang menjelaskan code tersebut tidak ikut diubah sehingga menimbulkan kebingungan bagi yang membaca code tersebut.
Untuk memberikan gambaran yang lebih jelas mengenai Clean Code ini, berikut adalah perbandingan antara Clean Code dan Bad Code :