
Menulis kode yang mudah dipelihara bukan soal seberapa pintar solusinya, tapi seberapa mudah orang lain (atau diri sendiri di masa depan) memahami dan mengubahnya. Berikut beberapa kebiasaan yang saya terapkan.

Nama variabel dan fungsi adalah dokumentasi paling murah. isRegisteredForDiscounts jauh lebih jelas daripada flag2. Kalau butuh komentar untuk menjelaskan nama, biasanya namanya yang perlu diperbaiki.
Fungsi yang panjang dan mengerjakan banyak hal sulit diuji dan sulit diubah. Pecah menjadi fungsi kecil yang masing-masing punya satu tanggung jawab. Ini sejalan dengan prinsip Single Responsibility dari SOLID.
Kode yang sama di tiga tempat memang layak dirapikan. Namun jangan terburu-buru membuat abstraksi untuk dua potongan kode yang kebetulan mirip. Abstraksi yang salah lebih mahal daripada sedikit duplikasi.
Tes bukan untuk mengejar angka coverage, melainkan agar kamu berani mengubah kode tanpa takut merusak fitur lain. Fokuskan pada logika bisnis dan kasus gagal yang paling mungkin terjadi.
Baca ulang diff sebelum membuat pull request. Hampir selalu ada nama yang kurang pas, sisa debug, atau potongan kode yang tidak terpakai.
Pegangan singkat: tulis kode untuk dibaca manusia dulu, baru untuk dijalankan mesin.