- Apa itu keindahan?
- Keindahan adalah nilai yang dirasakan manusia
- Sesuatu yang memberi rasa takjub, kebaruan, stabilitas, kenyamanan, kesederhanaan, dan sebagainya
- Dapat dibagi menjadi sesuatu yang mengejutkan dan sesuatu yang terasa alami
- Untuk merasakan keindahan (pencerahan), diperlukan sejumlah pengetahuan dasar
- Keindahan adalah sesuatu untuk bertahan hidup. Saat melihat sesuatu yang tidak bisa dipahami, kita merasa tidak nyaman
- Definisi kode yang indah
- Karena kode tidak bekerja sendirian, semakin indah semakin baik
- Idealnya, kode yang saat dibaca tidak memiliki satu pun bagian yang terasa mengganjal
- Kode yang alami itu baik
- Empat unsur yang membentuk kode yang indah
- Sosial, dapat dipercaya, linear, dan deklaratif
- Aspek sosial dan dapat dipercaya mengejar stabilitas
- Aspek linear dan deklaratif mengejar estetika
- Kode yang sosial
- Kode yang mempertimbangkan seluruh situasi di sekitarnya
- Mengikuti kebiasaan, aturan, dan misi
- Mirip dengan sifat sosial bahasa
- Kode yang dapat dipercaya
- Kode yang bisa digunakan dengan keyakinan
- Jika tidak dapat dipercaya, maka kodenya harus diperiksa langsung
- Mempertimbangkan pure function, idempotensi, side effect, dan sebagainya
- Karena tidak mungkin sama sekali tanpa side effect, hal itu bisa diberitahukan lewat dokumentasi atau pengecualian
- Kode yang linear
- Saat membaca kode, cukup dibaca sekali dari atas ke bawah
- Jika linear, secara neurosains ruang memori kerja lebih mudah memprosesnya
- Kode yang deklaratif
- Kode yang secara tepat memberi tahu apa yang dilakukannya
- Sebaiknya memberikan nama yang tepat
- Secara neurosains, ruang memori jangka pendek lebih mudah memprosesnya
- Secara realistis
- Kode yang indah bukan sesuatu yang langsung jadi dalam sekali jalan
- Kode yang sepenuhnya indah tidaklah umum
- Karena itu, diperlukan konsep perbaikan bertahap dan penghiasan kode
- Perbaikan bertahap
- Melakukan refactoring
- Mengulang pemeriksaan dan perbaikan untuk terus menjaga kualitas di kisaran 70~80%
- Kapan pemeriksaan dan perbaikan perlu dilakukan?
- Saat ownership kode mulai kabur
- Saat pengetahuan tentang kode yang telah ditulis mulai memudar
- Saat mulai mencium code smell
- Saat merasa tidak nyaman ketika melihat kode
- Penghiasan kode
- Membuat kode tampak indah melalui penataan
- Yang paling umum digunakan antara lain testing, code review, dokumentasi, dan komentar
- Testing
- Membuat kode lebih dapat dipercaya
- Menjamin perilaku dan testing itu sendiri bisa menjadi dokumentasi
- Code review
- Membuat kode lebih dapat dipercaya melalui verifikasi
- Karena menyebarkan ownership kode, ini juga bisa meningkatkan sifat sosial kode
- Code review yang diterapkan tanpa syarat bisa menjadi bottleneck
- Dokumentasi
- Membantu kode lebih mudah dipahami
- Waktu yang tepat untuk membuat dokumentasi adalah saat pengembang lain perlu mengetahui konteks, desain, dan aturan dari kode tersebut
- Akan lebih baik jika menggunakan alat seperti UML
- Komentar
- Untuk area kode yang kompleks dan tak terhindarkan, lebih baik menjelaskannya dengan komentar daripada dokumentasi
- Kualitas kode itu penting, tetapi kode yang indah tidak selalu menjamin keberhasilan
- Bahkan, desain atau proses kerja mungkin justru perlu lebih dipertimbangkan
- Kualitas kode tidak selalu menjamin kualitas produk
9 komentar
wkwkwkwk
Kode yang berpihak pada aspek sosial tampaknya penting juga ya, hehe
Menurut saya ini tulisan yang bagus dan rapi. Jika isu terkait kualitas kode sering muncul di dalam tim, sepertinya bagus juga untuk dibaca lalu didiskusikan bersama.
Topiknya mungkin bisa terasa rumit, tapi tetap mengalir saat dibaca. Terima kasih!
Memang, perbaikan bertahap itu penting. Bagaimanapun, tidak ada yang bisa langsung sempurna pada percobaan pertama.
Hobi merasakan keindahan estetis pada kode yang kita tulis sendiri sebaiknya tetap jadi sudut pandang pribadi saja. Jangan sampai profesional yang dibayar malah mendekati kode perusahaan dari sudut pandang artistik dan menanamkan pola pikir aneh kepada para junior; tolong jangan jadi senior seperti itu. Kalau tidak, ya berhenti saja jadi developer dan pergilah melukis atau semacamnya, kenapa malah bicara soal seni...
Anda tampaknya salah terpaku pada kata "keindahan".
Pemuda yang hanya membaca judul
Heh, ini memang agak berlebihan sih