Program Yang Berkualitas vs Program Yang Sehat

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.

Join the Conversation

4 Comments

  1. Sepakat, saya pernah ngerasain harus nambahin fitur ini itu di program yang agak amburadul dan ga ada dokumentasi. Pusing. Dan yang lebih penting lagi, nambahin fungsionalitas ke sesuatu yang udah amburadul, jauh lebih lama dan sulit daripada ke yang rancangannya bagus.

  2. Saya rasa pendapat orang itu benar.., tidakkah anda baca tambahannya?
    “Except for us programmers.”

    Dan perspektfi anda itu perspektif programmer kan?

    Btw, blognya bagus nih.. mantep..

  3. salam kenal,
    pernah pada suatu hari saya dikenalkan dengan istilah straight programming, yang artinya kurang lebih; setiap program yang ditulis dapat mudah dibaca oleh programmer laen, shg jika pada suatu hari nanti ada penambahan tw pengurangan dapat di handle oleh programmer laen , 🙂

Leave a comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.