Apa Yang Dibahas di Buku Clean Code Chapter Pertama ? (Part 1)

Mei Rizal F
3 min readJul 8, 2020

Untuk menjadi seorang programmer yang handal itu memang tidak mudah ya. Banyak aspek-aspek yang harus kita pahami dan kuasai. Salah satunya sih clean code. Wah apa lagi tuh clean code? Clean code secara singkat bisa diartikan sebagai kode program yang tersusun dengan rapi, mudah dibaca juga dipahami dan mengikuti standard.

Oke, kali ini saya akan mengupas isi buku dari Robert C. Martin — yang dikenal sebagai Uncle Bob — yang berjudul Clean Code: A Handbook of Agile Software Craftmanship. Tujuan utama mempelajari clean code ini adalah membuat bad code menjadi good code. Dan saya rasa buku ini wajib menjadi pegangan untuk para programmer, supaya mampu menulis code yang baik dan benar.

Di chapter pertama yang dibahas adalah prinsip-prinsip di dalam clean code. Kenapa sih harus clean code? Seperti yang sudah dijelaskan di atas, supaya code mudah dibaca dan dipahami oleh sesama programmer, karena belum tentu code yang kita tulis akan mudah dipahami oleh programmer lain. Dan bagi saya code itu ibarat jiwa bagi sebuah program, jika jiwanya rusak maka programnya pun rusak pula. Kenapa saya sebut jiwa? Karena code berisi atau mewakili requirements dan detail dari sebuah system.

Bad code itu adalah sesuatu yang harus kita hindari, jangan sampai kita menulis bad code di dalam program, karena kita harus membayar mahal untuk sebuah bad code. Sebuah aja harus dibayar mahal, apalagi dua buah, tiga buah, empat buah ya, hmm.

Ada satu section di dalam chapter pertama ini yang membahas tentang akibat yang ditimbulkan dari code yang buruk. Disini dibahas tentang satu perusahaan yang di akhir tahun 80an membuat sebuah “killer app”. Program yang saat itu dikenal banyak orang dan banyak dipakai oleh para profesional. Namun disetiap rilis versi barunya, beberapa bug masih belum diperbaiki. Makin lama, program makin tidak karuan, semua user tidak ingin menggunakannya lagi dan perusahaan tersebut akhirnya dishutdown.

Mengapa bisa begitu dan mengapa bug tidak diperbaiki disetiap rilisnya? Ternyata bad code lah yang membuatnya seperti itu. Mereka terlalu fokus mengejar target untuk rilis fitur baru, namun tidak mengindahkan code yang ditulis programmer. Akhirnya programmer mengejar target supaya bisa rilis tepat waktu, sehingga mereka menulis code yang tidak clean, karena tujuannya yang penting program bisa rilis dan jalan, tidak peduli codenya seperti apa. Pada awalnya si programmer punya niat untuk memperbaiki codenya di kemudian hari. Uncle Bob mengutip LeBlanc’s Law: Later equals never. Dan semakin lama, bad code menjadi semakin banyak, dan makin sulit untuk dimanage. Si perusahaan ini harus membayar mahal dengan ditutupnya bisnis.

Programmer yang sudah berkarir lebih dari dua atau tiga tahun pasti bakalan ngeuh jika ada bad code didalam program yang sedang dia bangun. Bahkan akan merasa kinerjanya dibuat lambat oleh adanya bad code tersebut. Nah ini, dampak bad code adalah dapat memperlambat kinerja tim dan menurunkan produktifitas tim, bahkan bisa jadi produktifitas turun sampai ke angka nol. Ngeri juga ya dampak bad code ini. Yup, salah satu hal juga yang harus dibayar mahal.

Terkadang kita sudah membuat code yang clean, namun suatu saat bisa berubah jadi bad code juga. Kok bisa seperti itu sih? Nah biasa terjadi karena ada tuntutan dari manager atau marketing yang menginginkan program atau fitur cepat rilis pada tenggat waktu yang ditentukan, akhirnya kita sebagai programmer akan membuat code yang asal jadi — yang penting jalan dan sesuai tenggat waktu. Nah kalau sudah gitu siapa yang salah, programmer atau manager dan marketing? Sebenarnya dua-duanya bisa jadi salah. Manager dan marketing tidak tahu bagaimana proses coding, namun dia membuat tenggat waktu yang sedemikian rupa tanpa mencari tahu aspek di dalam pembuatan program. Programmer pun bisa jadi salah, karena banyak diantara kita programmer yang tidak bisa mengemukakan pendapat perihal aspek-aspek apa saja yang harus dipenuhi dalam proses coding. Seharusnya programmer lebih banyak berbicara kepada manager atau marketing perihal aspek atau requirements yang harus dipenuhi dalam membuat sebuah program, dengan tujuan manager dan marketing menjadi paham, sehingga mereka membuat tenggat waktu yang lebih ideal.

Untuk chapter pertama ini masih ada beberapa hal yang dibahas, namun nanti akan saya lanjut di part keduanya saja.

--

--

Mei Rizal F
Mei Rizal F

Written by Mei Rizal F

Software development engineer who have been loving to code since 2007

No responses yet