Menulis Pesan Commit yang Berguna Enam Bulan Lagi

Saya sudah lima tahun berkutat di sistem untuk klinik dan rumah sakit, sekarang sebagai Kepala IT. Salah satu kebiasaan kecil yang paling sering menyelamatkan saya bukan arsitektur canggih atau tooling mahal, melainkan sesuatu yang sepele: pesan commit. Kedengarannya remeh, tapi coba bayangkan situasi ini — beberapa bulan lagi ada bug aneh muncul, Anda jalankan git blame, dan yang muncul cuma "fix bug" atau "update logic". Anda tahu apa yang berubah, tapi tidak tahu kenapa. Dan pertanyaan "kenapa" itu yang paling mahal untuk dijawab ulang.

Kenapa "apa" saja tidak cukup

Diff sudah menunjukkan apa yang berubah — baris mana dihapus, fungsi mana ditambah. Itu informasi yang git sendiri sudah sediakan secara otomatis. Yang tidak tercatat otomatis adalah konteks di balik keputusan: kenapa validasi ini dilonggarkan, kenapa query ini sengaja tidak pakai index, kenapa ada workaround yang terlihat aneh. Kalau pesan commit cuma mengulang isi diff, Anda menulis dokumentasi yang sudah tersedia gratis dan membuang kesempatan mencatat hal yang justru langka: alasan.

Pola yang saya pakai

Saya biasa memisahkan judul singkat (baris pertama, idealnya ringkas dan mode imperatif seperti "tambahkan" bukan "menambahkan") dari badan pesan yang menjelaskan konteks. Sebagai ilustrasi format yang saya pakai:

Cache hasil query laporan kunjungan per hari

Query ini dipanggil berulang kali di dashboard dan cukup berat
karena join beberapa tabel besar. Sebelumnya sempat dicoba
optimasi index saja, tapi peningkatan tidak signifikan karena
pola akses datanya memang read-heavy dan datanya jarang berubah
dalam sehari. Cache dengan TTL singkat jadi solusi yang lebih
sesuai dibanding terus menambah index.

Badan pesan seperti ini menjawab tiga hal yang sering saya butuhkan lagi nanti: masalah apa yang coba diselesaikan, pendekatan lain apa yang sudah dicoba dan kenapa ditolak, serta trade-off apa yang disadari sejak awal. Kalau ada keterbatasan yang sengaja dibiarkan, saya juga biasa mencatatnya eksplisit di pesan commit atau di komentar kode terdekat, supaya orang lain (atau saya sendiri) tidak mengira itu terlewat begitu saja, melainkan memang keputusan sadar.

Kapan investasi ini benar-benar terbayar

Pesan commit yang menjelaskan alasan paling terasa manfaatnya saat tiga situasi bertemu: kode itu menyangkut logika bisnis yang tidak jelas dari sekadar membaca kode (misalnya aturan spesifik industri kesehatan yang tidak umum di domain lain), perubahan itu melibatkan trade-off yang bisa dipertanyakan orang lain nanti, atau tim bekerja dengan banyak kontributor sehingga konteks percakapan tidak otomatis menyebar ke semua orang. Untuk commit yang benar-benar trivial — perbaikan typo, format ulang, bump versi dependency — judul singkat saja sudah cukup, tidak perlu dipaksakan.

Ringkasan singkat

Sebelum menekan enter di git commit, saya coba tanya ke diri sendiri satu pertanyaan: kalau saya baca pesan ini beberapa bulan lagi tanpa ingat konteks apa pun, apakah saya akan mengerti kenapa perubahan ini dibuat? Kalau jawabannya tidak, saya tambahkan satu-dua kalimat konteks. Sebagai ilustrasi, investasi waktu semenit dua menit menulis konteks ini jauh lebih murah dibanding waktu yang terbuang menelusuri ulang alasan sebuah keputusan yang sebenarnya sudah pernah dipikirkan matang-matang, hanya lupa dicatat.