Taylor Otwell, perintis Laravel (sebuah framework pemrograman web untuk PHP), memberi label bagi framework-nya sebagai “The PHP Framework for Web Artisans”. Ia memberikan penekanan pada kata artisan, yang kurang-lebih berarti perajin. Artisan / perajin adalah seorang yang memiliki keahlian untuk membuat sebuah karya. Seorang artisan sangat memperhatikan proses dan metode pengerjaannya sehingga ia dapat menghasilkan sebuah karya yang dapat ia banggakan. Seorang artisan bisa juga berarti seniman, dalam arti bahwa ia memiliki intuisi seni dan dapat menghasilkan produk yang indah.
Seorang programmer sering juga disebut sebagai seorang engineer. Seorang insinyur.
Insinyur sering diasosiasikan dengan pekerjaan yang bersifat kasar, kotor dan fisik. Namun, saya berpendapat seorang insinyur juga bisa menjadi seniman jika karya yang ia lahirkan datang dari perhatian yang dalam terhadap proses dan kualitasnya sehingga berbuah karya yang enak dipandang.
Menurut saya, seorang software engineer / insinyur perangkat lunak yang baik adalah mereka yang peduli terhadap kualitas kode yang mereka buat sehingga mereka ingin agar produk yang mereka bangun bisa mereka banggakan sebagai sebuah hasil karya yang bukan hanya berguna, tapi juga indah.
Dari perspektif rekayasa teknik, usia teknik rekayasa perangkat lunak relatif masih baru dibandingkan dengan bidang teknik lain seperti: teknik sipil atau teknik elektro. Sehingga disiplin bidang dan teknik pengembangan software nya juga masih cukup muda dan tidak sematang bidang yang lain.
Robert C. Martin menilai bahwa kode yang ditulis dengan buruk bisa berdampak besar terhadap sebuah organisasi / perusahaan. Ia masih ingat dengan sebuah perusahaan perangkat lunak di era akhir 80-an yang memiliki app yang sangat populer. Akan tetapi, proses rilis kodenya makin lama makin lama. Bug dan masalah-masalah tidak diperbaiki dari waktu ke waktu. Waktu memuat app makin lama dan banyak terjadi crash. Perusahaan itu kemudian ditutup tidak lama kemudian.
Beberapa tahun kemudian, Martin bertemu dengan pegawai perusahaan tersebut dan bertanya padanya apa yang terjadi. Jawaban orang tersebut mengkonfirmasi dugaan Martin bahwa mereka terburu-buru meluncurkan produknya meskipun kode yang mereka miliki sangat berantakan. Makin banyak fitur ditambahkan, makin berantakan kodenya. Kode yang berantakan itulah yang menghancurkan perusahaan.
Martin kemudian mencoba menjawab persoalan-persoalan tersebut dengan mengarang buku ”Clean Code: A Handbook of Agile Software Craftmanship”.
Mengapa mempelajari Clean Code penting? Karena menurut Martin sampai kapan pun kode akan ditulis programmer sesuai dengan spesifikasi dari orang-orang bisnis.
Memang saat ini alat-alat yang membantu penulisan kode cukup berkembang pesat. Selain gerakan No Code yang sedang menguat, ada juga alat seperti Github Copilot yang membantu programmer menuliskan kode menggunakan AI
Apa itu Clean Code? Martin mengusulkan sebuah prinsip bernama Clean Code. Martin mencoba mendefinisikannya berdasarkan dari pendapat para programmer lainnya. Bjarne Stroustrup, penemu C++, menggunakan kata elegan. Grady Booch, penulis Object Oriented Analysis and Design with Applications menggunakan perspektif kemudahan dibaca. Ward Cunningham, penemu Wiki, menekankan pada kesesuaian ekspektasi dari pembaca kode.
Martin sendiri mendorong pembaca buku agar mempelajari Clean Code dengan membaca secara utuh bukunya agar mendapatkan pemahaman yang baik akan konsepnya. Ia menyediakan ide, alat dan teknik untuk mencapai Clean Code menurut pendapatnya. Namun, aplikasinya tentu saja tergantung pada pembaca.
Akhirnya, secara sederhana Clean Code pada dasarnya seperti prinsip seorang pandu, leave the campground cleaner than you found it, tinggalkan tempat berkemah anda lebih bersih daripada ketika anda datang. Perbaiki kode yang kita tulis sedikit demi sedikit sehingga orang yang datang setelah anda pergi bisa memahaminya lebih baik.