Kenapa Clean Code Itu Penting?

Muhammad Syarif
Grow at Warung Pintar
6 min readNov 15, 2021
Warung Pintar

Kode program yang “buruk” sekalipun dapat berfungsi. Tetapi jika kode program tidak bersih, bisa membuat tim pengembang menyerah atau bertekuk lutut. Setiap tahun, banyak waktu dan sumber daya yang signifikan dihabiskan karena kode program yang ditulis tidak bagus.

Anda yang membaca artikel ini pasti memiliki dua alasan. Pertama Anda adalah seorang programmer dan kedua Anda ingin menjadi programmer yang lebih baik.

Orang-orang berpikir bahwa kode program suatu hari akan hilang seperti ahli matematika yang berharap suatu hari menemukan matematika yang tidak harus formal. Mereka berharap suatu hari kita akan menemukan cara untuk membuat mesin yang dapat melakukan apa yang kita inginkan daripada apa yang kita katakan. Mesin-mesin ini harus dapat memahami kita dengan baik sehingga mereka dapat menerjemahkan kebutuhan-kebutuhan yang ditentukan secara samar ke dalam program-program yang dijalankan dengan sempurna yang secara tepat memenuhi kebutuhan-kebutuhan tersebut.

Sumber: https://teknosejahtera.com

Ini tidak akan pernah terjadi. Bahkan manusia, dengan segala intuisi dan kreativitasnya, tidak mampu menciptakan sistem yang sukses dari perasaan pelanggan yang masih samar. Memang, jika disiplin spesifikasi persyaratan telah mengajari kita sesuatu, itu adalah persyaratan yang ditentukan dengan baik sama formalnya dengan kode program dan dapat bertindak sebagai tes yang dapat dieksekusi dari kode tersebut!

Ingat bahwa kode program benar-benar bahasa di mana kita akhirnya mengekspresikan persyaratan/spesifikasi. Kita dapat membuat bahasa yang lebih mendekati “manusiawi”. Kita dapat membuat alat yang membantu kita mengurai dan merakit persyaratan tersebut ke dalam struktur formal. Tetapi kita tidak akan pernah menghilangkan presisi yang diperlukan — jadi akan selalu ada kode program.

Sebagai programmer tentu saja Anda menemukan kode yang “buruk” dan menjadi hambatan untuk pengembangan. Jadi mengapa Anda tetap melanjutkannya? Apakah Anda ingin cepat selesai? Apakah Anda terburu-buru? Mungkin begitu. Mungkin Anda merasa tidak punya waktu untuk melakukan pekerjaan dengan baik; atau bos Anda akan marah kepada Anda jika Anda meluangkan waktu untuk membersihkan kode Anda. Mungkin Anda hanya lelah mengerjakan program ini dan ingin program ini berakhir. Atau mungkin Anda melihat backlog dari hal-hal lain yang telah Anda janjikan untuk diselesaikan dan menyadari bahwa Anda perlu “membanting” modul ini bersama-sama sehingga Anda dapat melanjutkan ke modul berikutnya. Kita semua telah melakukannya.

Kita semua telah melihat kekacauan yang baru saja kita buat dan kemudian memilih untuk meninggalkannya untuk hari lain. Kita semua merasa lega melihat program kita yang berantakan berhasil dan memutuskan bahwa pekerjaan yang berantakan itu lebih baik daripada tidak sama sekali. Kita semua mengatakan kita akan kembali dan membersihkannya nanti. Tentu saja, pada masa itu kita tidak tahu hukum LeBlanc: Nanti sama dengan tidak pernah.

Perbandingan Clean Code VS Bad Code ~ Sumber: https://www.geeksforgeeks.org/

Menghabiskan Biaya yang Besar

Jika Anda telah menjadi programmer selama lebih dari dua atau tiga tahun, Anda mungkin telah diperlambat oleh kode yang berantakan. Tingkat perlambatan bisa signifikan. Selama rentang satu atau dua tahun, tim yang bergerak sangat cepat di awal proyek dapat menemukan diri mereka bergerak dengan kecepatan siput. Setiap perubahan yang mereka buat bisa merusak dua fungsi atau tiga fungsi dari kode lainnya. Setiap penambahan atau modifikasi pada sistem menghasilkan logika yang rumit, kusut seperti benang dan sulit “dipahami” bahkan tambah rumit. Seiring waktu kekacauan menjadi begitu besar dan terlalu rumit, sehingga team tidak bisa memperbaikinya dan tidak ada cara sama sekali.

Saat kekacauan bertambah, produktivitas tim terus menurun, secara asimtotik mendekati nol. Ketika produktivitas menurun, manajemen melakukan satu-satunya hal yang mereka bisa; mereka menambahkan lebih banyak staf ke proyek dengan harapan dapat meningkatkan produktivitas. Tetapi staf baru itu tidak berpengalaman dalam desain sistem. Mereka tidak tahu perbedaan yang akan dibuat. Selain itu, mereka, dan semua orang dalam tim, berada di bawah tekanan yang mengerikan untuk meningkatkan produktivitas. Jadi mereka semua membuat semakin banyak kekacauan, mendorong produktivitas semakin jauh menuju nol.

Desain Ulang Setinggi Langit

Akhirnya tim memberontak. Mereka memberi tahu manajemen bahwa mereka tidak dapat terus berkembang dalam basis kode yang buruk ini. Mereka menuntut desain ulang. Manajemen tidak ingin mengeluarkan sumber daya untuk mendesain ulang proyek yang sama sekali baru, tetapi mereka tidak dapat menyangkal bahwa produktivitas itu buruk. Akhirnya mereka tunduk pada tuntutan para pengembang dan mengizinkan desain ulang besar-besaran setinggi langit.

Tim harimau baru dipilih. Semua orang ingin berada di tim ini karena ini adalah proyek yang menantang. Mereka bisa memulai dari awal dan menciptakan sesuatu yang benar-benar indah. Tetapi hanya yang terbaik dan tercerdas yang dipilih untuk tim harimau. Semua orang terus memelihara sistem yang saat ini.

Kini kedua tim sedang berlomba. Tim harimau harus membangun sistem baru yang melakukan semua yang dilakukan sistem lama. Tidak hanya itu, mereka harus mengikuti perubahan yang terus dilakukan terhadap sistem lama. Manajemen tidak akan menggantikan sistem lama sampai sistem baru dapat melakukan semua yang dilakukan sistem lama.

Balapan ini bisa berlangsung sangat lama. Bisa membutuhkan waktu 10 tahun. Dan pada saat selesai, anggota asli tim harimau sudah pergi, dan anggota saat ini menuntut agar sistem baru didesain ulang karena sangat berantakan.

Jika Anda pernah mengalami bahkan satu bagian kecil dari cerita yang baru saja diceritakan, maka Anda sudah tahu bahwa menghabiskan waktu menjaga kode Anda tetap bersih tidak hanya hemat biaya; ini masalah kelangsungan hidup profesional.

Sumber: Sumber: https://www.geeksforgeeks.org/

“Clean Code” sebagai salah satu aspek penting dalam pengembangan aplikasi yang hadir tanpa sebab sesuai dengan penjelasan diatas. Clean code pada pengembangan produk khususnya perangkat lunak merupakan hal yang sebaiknya dilakukan oleh para programmer. Clean code juga diterapkan pada Agile Methodology (berdasarkan buku Clean Code karangan Robert C. Martin). Sistem dapat berubah dengan cepat, maka pemanfaatan clean code juga penting untuk menyeimbangi kecepatan pengembangan.

Kode yang memanfaatkan clean code diperlukan dengan maksud untuk membuat kode rapi dan baik. Setiap potongan kode memiliki arti dan fungsi sesuai tugasnya masing-masing. Terlebih lagi ketika melakukan kolaborasi pekerjaan, akan sangat memudahkan apabila program yang dibuat mengimplementasikan clean code di dalamnya sehingga programmer lain dapat melanjutkan pekerjaan tersebut.

Seni Clean Code?

Katakanlah Anda percaya bahwa kode yang berantakan adalah hambatan yang signifikan. Katakanlah Anda menerima bahwa satu-satunya cara untuk mempercepat adalah menjaga kode Anda tetap bersih. Maka Anda harus bertanya pada diri sendiri: “Bagaimana cara menulis clean code?” Tidak ada gunanya mencoba menulis kode bersih jika Anda tidak tahu apa artinya kode menjadi bersih!

Berita buruknya adalah menulis kode bersih sangat mirip dengan melukis gambar. Sebagian besar dari kita tahu kapan sebuah gambar dilukis dengan baik atau buruk. Tapi bisa mengenali seni yang baik dari yang buruk tidak berarti kita tahu cara melukis. Begitu juga dengan dapat mengenali kode bersih dari kode kotor tidak berarti kita tahu cara menulis kode bersih!

Menulis kode bersih membutuhkan penggunaan disiplin dari berbagai teknik kecil yang diterapkan melalui rasa “kebersihan” yang diperoleh dengan susah payah. Ini “Code Sense” adalah kuncinya. Beberapa dari kita dilahirkan dengan itu. Beberapa dari kita harus berjuang untuk mendapatkannya. Tidak hanya membiarkan kita melihat apakah kode itu baik atau buruk, tetapi juga menunjukkan kepada kita strategi untuk menerapkan disiplin kita untuk mengubah kode yang buruk menjadi kode yang bersih.

Seorang programmer tanpa “code-sense” dapat melihat modul yang berantakan dan mengenali kekacauan tersebut tetapi tidak akan tahu apa yang harus dilakukan tentang hal itu. Seorang programmer dengan “code-sense” akan melihat modul yang berantakan dan melihat opsi dan variasi. “Code-sense” akan membantu programmer itu memilih variasi terbaik dan membimbingnya untuk merencanakan urutan transformasi yang melestarikan perilaku untuk pergi dari sini ke sana.

Singkatnya, seorang programmer yang menulis clean code adalah seorang seniman yang dapat mengambil layar kosong melalui serangkaian transformasi hingga menjadi sistem kode yang elegan.

Sumber: https://www.anbidev.com

Kesimpulan

Clean Code adalah kode di dalam perangkat lunak yang formatnya benar dan disusun dengan baik dan rapi agar kode programnya mudah dibaca, dimengerti, ditelusuri oleh siapapun dan mudah untuk dikembangkan oleh siapapun jika nantinya akan ada perubahan. Alasan penerapan clean code adalah untuk kolaborasi yang akan dikerjakan secara tim sehingga dengan kode yang baik dan benar antar programmer tidak akan mengalami kesulitan ketika akan melanjutkan pekerjaan dari programmer lain. Selain itu penerapan clean code bisa menghemat waktu dan biaya saat harus melakukan perubahan terhadap sistem.

Referensi

--

--

Muhammad Syarif
Grow at Warung Pintar

Software Engineer, ERP Specialist (Odoo), Supply Chain Management & Data Enthusiast | mhdsyarif.com