Intuisi Developer, Kode yang Mudah Dibaca, dan Ilmu Saraf: Mengapa Kita Merasa Nyaman dengan Kode Tertentu?
(evan-moon.github.io)Diskusi tentang 'kode yang mudah dibaca' sering kali dianggap sekadar ranah selera pribadi atau kebiasaan, padahal di baliknya sebenarnya bekerja prinsip-prinsip ilmu kognitif. Tulisan ini mengurai 'intuisi' developer dari sudut pandang ilmu saraf, dan menganalisis rasa abstrak bernama keterbacaan sebagai struktur yang logis.
-
Intuisi bukan sihir, melainkan pencocokan pola tingkat tinggi Ketika developer berpengalaman 'langsung' mencium adanya code smell saat melihat kode, itu bukan sekadar firasat. Itu adalah proses ketika ventral striatum di otak membandingkan banyak sekali pola kode yang pernah dipelajari dengan kode saat ini secara real-time. Dengan kata lain, intuisi bukanlah logika yang dihilangkan, melainkan hasil dari 'komputasi berkecepatan tinggi' yang diproses terlalu cepat sehingga proses logisnya tidak muncul ke permukaan kesadaran.
-
Batas working memory dan beban kognitif Working memory manusia hanya dapat memproses sekitar 3–5 unit informasi (chunk) dalam satu waktu. Kode dengan keterbacaan rendah menguras sumber daya yang terbatas ini.
Lompatan kognitif yang tidak perlu: Kode yang jarak antara deklarasi dan eksekusinya terlalu jauh, atau hubungan sebab-akibatnya kusut, membuat otak harus terus melakukan 'context switching' untuk mempertahankan konteks saat ini.
Visibilitas psikologis: Ketika kode bisa dibaca dalam sekali pandang, itu berarti otak langsung memetakan kode tersebut ke pola (schema) yang sudah dikenal tanpa perlu proses interpretasi tambahan.
- Merancang kode dengan memanfaatkan chunking Otak mencapai efisiensi maksimum saat data individual dikelompokkan dan dikenali sebagai satu unit.
Fungsi dan modul yang dirancang dengan baik mengabstraksikan logika yang kompleks menjadi satu 'chunk', sehingga membantu pembaca memahami konteks keseluruhan tanpa harus terus mengingat detail implementasinya.
Namun, abstraksi yang berlebihan justru membuat makna hanya bisa dipahami jika harus melihat ke dalam isi 'chunk' tersebut, sehingga menimbulkan 'inefisiensi kognitif' karena biaya interpretasi di otak menjadi berlipat.
- Hukum konservasi energi otak dan konsistensi kode Otak adalah organ yang menggunakan lebih dari 20% energi tubuh, dan secara naluriah berusaha mengurangi pengeluaran energi. Penamaan yang tidak konsisten atau konvensi yang tidak seragam merusak 'model prediksi' otak dan memaksanya menggunakan energi yang tidak perlu. Sebaliknya, kode dengan aturan yang jelas membuat otak membaca kode dalam mode 'autopilot', sehingga menurunkan tingkat kelelahan.
Kesimpulan: Keterbacaan adalah bentuk perhatian terhadap otak rekan kerja Pada akhirnya, desain kode yang baik adalah desain kognitif yang meminimalkan energi yang digunakan otak rekan developer untuk 'pengenalan pola'. Meningkatkan keterbacaan bukan sekadar membuat kode terlihat rapi, tetapi merupakan tindakan paling ekonomis untuk melindungi sumber daya kognitif kolaborator yang terbatas.
1 komentar
Terima kasih untuk tulisan yang bagus ini.
Contoh kodenya sangat terasa relevan buat saya wkwk