Saya suka membaca tulisan-tulisan Coding Horror, tapi tulisan terakhirnya dengan judul Nobody Cares What Your Code Looks Like terus terang sangat mengecewakan saya,
The next time you’re knee deep in arcane language geekery, remember this: nobody cares what your code looks like. Except for us programmers. Yes, well-factored code written in a modern language is a laudable goal. But perhaps we should also focus a bit more on things the customer will see and care about, and less on the things they never will.
Di sini saya tidak setuju.
Memang benar, klien tidak pernah peduli dengan kode yang kita tulis. Yang penting bagi mereka adalah program yang kita buat jalan dan sesuai dengan yang mereka inginkan.
Hanya saja, kode yang amburadul akan sulit untuk dikembangkan dan dipelihara. Penulis aslinya pun pasti mengalami kesulitan ketika harus menambahkan atau memperbaiki programnya.
Padahal, tidak ada program yang dibuat sekali jadi. Akan selalu ada perbaikan, penambahan atau pengurangan fitur. Selalu ada versi 2, 3 dan seterusnya. Bahkan bisa dipastikan, program yang cuma ada versi 1 bukanlah program yang bagus karena mungkin tidak ada yang menggunakan.
Selain itu, program yang kompleks lazimnya butuh lebih dari satu programmer untuk mengerjakannya. Dalam kasus seperti ini, kode yang kita tulis harus bisa dibaca dan dimengerti oleh programmer lain, cuma kebetulan saja mesti dieksekusi komputer. Maka biasanya dibuat standar penulisan program yang disepakati (coding standards). Anda akan dimaki-maki programmer lain kalau kode yang anda tulis acak-acakan.
Dengan kata lain, cara penulisan program bukan sekedar kebiasaan atau gaya tiap programmer, tapi justru sangat mempengaruhi program yang dihasilkan. Dari pengalaman, bugs yang saya temukan biasanya muncul dari kode yang ditulis secara sembrono, asal jadi dan tidak sesuai standar.
Jadi pendapat bahwa “tidak ada yang peduli dengan kode yang anda tulis selama programnya jalan” sebenarnya tidak ada faktanya. Ide seperti ini umumnya muncul dari mereka yang lebih mementingkan “kualitas” daripada “kesehatan” program.
Saya setuju dengan Kent Back bahwa program yang “sehat” jauh lebih penting dan berharga dari program yang “berkualitas”. Karena “kualitas” adalah ukuran instan (instantaneous measure) yang cenderung menipu.
Program yang mengidap kangker akut yang penuh dengan bugs di dalamnya biasanya tampak jalan dengan baik dan terlihat berkualitas dari luar. Tapi jika anda tahu dalamnya, saya yakin anda tidak akan menggunakannya.
Program yang “sehat” sebaliknya, mungkin tidak memiliki banyak fitur. Tapi semua fitur yang ada adalah yang benar-benar dibutuhkan user dan 99,99% bugs free. Kodenya yang rapih dan terdokumentasi dengan baik sangat mudah untuk dikembangkan dan dipelihara.
Program seperti ini akan selalu dinamis untuk memenuhi kebutuhan klien yang berbeda-beda tanpa harus merombak habis-habisan kode yang sudah ada atau memunculkan bugs baru.