Komuniti pembangunan perisian sedang aktif membincangkan perbahasan menarik antara dua tokoh berpengaruh dalam reka bentuk perisian: Robert Uncle Bob Martin, penulis Clean Code, dan John Ousterhout, penulis A Philosophy of Software Design. Perbincangan mereka telah mencetuskan komen besar tentang pendekatan asas pembangunan perisian dan amalan terbaik.
Dilema Dogma
Salah satu perkara perbincangan yang paling menonjol berkisar tentang ketegasan prinsip Clean Code. Ramai pembangun menyatakan kebimbangan tentang penggunaan peraturan yang dogmatik, terutamanya mengenai panjang fungsi dan amalan memberi komen. Komuniti menekankan bagaimana kepatuhan ketat kepada prinsip seperti fungsi harus sepanjang 2-4 baris boleh membawa kepada apa yang dipanggil oleh sesetengah pembangun sebagai kod lasagna - pelbagai lapisan abstraksi nipis yang merumitkan dan bukannya menjelaskan kod.
Bagi saya, matlamat asas reka bentuk perisian adalah untuk memudahkan pemahaman dan pengubahsuaian sistem. Saya menggunakan istilah 'kerumitan' untuk merujuk kepada perkara-perkara yang menyukarkan pemahaman dan pengubahsuaian sistem.
Perkara Utama yang Dipertikaikan:
- Panjang fungsi (Clean Code: 2-4 baris berbanding pendekatan kontekstual)
- Penggunaan komen (dokumentasi minimal berbanding dokumentasi bertujuan)
- Prinsip abstraksi (peraturan ketat berbanding pengukuran nisbah kompleksiti)
- Pendekatan pembangunan (preskriptif berbanding berasaskan bukti)
Peranan Komen
Satu titik pertikaian penting berkisar pada penggunaan komen kod. Walaupun Clean Code menyokong kod yang mendokumentasikan diri sendiri dengan komen minimum, ramai pembangun berhujah tentang peranan penting komen dalam menerangkan sebab di sebalik keputusan kod, terutamanya apabila berurusan dengan sistem luaran, antara muka perkakasan, atau proses yang bertentangan dengan intuisi. Komuniti terutamanya menekankan nilai komen dalam mendokumentasikan penyelesaian alternatif, keperluan masa, dan tingkah laku khusus sistem yang tidak dapat disampaikan dengan berkesan melalui nama kaedah sahaja.
Pendekatan Berasaskan Bukti
A Philosophy of Software Design oleh Ousterhout telah mendapat perhatian khusus kerana pendekatan yang lebih berasaskan bukti terhadap prinsip reka bentuk perisian. Buku ini memperkenalkan konsep mengukur kualiti abstraksi melalui nisbah kerumitan yang terkandung berbanding kerumitan antara muka. Heuristik praktikal ini telah mendapat sambutan daripada ramai pembangun yang mendapati ia menyediakan rangka kerja yang lebih fleksibel dan pragmatik untuk membuat keputusan reka bentuk.
Evolusi Pemikiran Pembangun
Satu corak menarik muncul daripada perbincangan: ramai pembangun menggambarkan perjalanan dari awalnya menerima garis panduan ketat Clean Code kepada akhirnya mengamalkan pendekatan reka bentuk perisian yang lebih bernuansa dan sedar konteks. Evolusi ini biasanya mengambil masa kira-kira lima tahun, menunjukkan bahawa walaupun peraturan preskriptif mungkin memberi manfaat kepada pemula, pembangun berpengalaman cenderung untuk memilih penyelesaian yang lebih fleksibel dan bergantung kepada situasi.
Kesimpulannya, walaupun kedua-dua buku telah menyumbang secara signifikan kepada pemikiran reka bentuk perisian, komuniti semakin menyokong pendekatan yang seimbang yang mempertimbangkan konteks, kepraktisan, dan keperluan khusus setiap projek berbanding mematuhi peraturan yang tegar. Perbahasan ini menekankan evolusi berterusan prinsip reka bentuk perisian dan kepentingan mengekalkan fleksibiliti pragmatik dalam amalan pembangunan.
Rujukan: Pengenalan