Source Code yang Baik itu Artinya: Mudah Dimengerti.


Kadang kita berpendapat, membuat program akan memakan waktu paling lama daripada memperbaiki satu bagian program yang telah kita buat. Ternyata pendapat ini tidak sepenuhnya benar.
Menurut penelitian yang telah dilakukan oleh banyak pemrogram di seluruh dunia, ternyata memperbaiki, menambah, dan menghilangkan bug memakan waktu hampir 3 kali lipat daripada membuat program tersebut dari awal. Dari data yang disurvey oleh Annual Meeting Conference of the Software Maintenance Association pada tahun 1990, 74% waktu penulisan program dari banyak pemrogram di seluruh dunia adalah untuk memperbaiki, menambah atau men-debug program yang dibuatnya sendiri atau dibuat orang lain, jadi penulisan program itu sendiri hanya memakan waktu 26% dari keseluruhan waktunya.
Banyak pemrogram percaya bahwa tujuan dari membuat program adalah menyediakan satu set perintah yang dapat dimengerti oleh komputer tanpa mempedulikan apakah manusia dapat mengerti perintah-perintah tersebut atau tidak. Konsep ini salah. Program yang hanya dapat dimengerti mesin akan memiliki beberapa masalah seperti berikut:

1. Program tersebut akan sulit untuk diperbaiki karena kadangkala bahkan penulisnya sendiri lupa atau tidak dapat mengerti maksud dari baris-baris perintah dalam programnya.

2. Modifikasi dan penambahan juga sulit dilakukan karena pemrogram lain yang bertugas untuk melakukan hal ini akan menghabiskan banyak waktu untuk mengerti maksud dari program tersebut.

Coba lihat satu baris program yang ditulis oleh seorang pemrogram yang sangat jago dan coba mengerti apa maksud dari baris program ini:
while (‘\n’ != (*p++ =*q++));
Baris program untuk apakah ini? Cukup sulit untuk dimengerti bukan? Tetapi mungkin kalau program ini kita jabarkan dengan lebih banyak baris dan ditambah komentar yang tepat kita akan lebih mengerti maksud dari baris program yang tertera di atas.
while(1) //perulangan tidak terbatas
{
*pointer_tujuan = *pointer_sumber;
if(*pointer_tujuan == ‘\n’)
{
//Keluar dari perulangan bila menemukan
//karakter enter atau end of line (‘\n’)
break;
}
*pointer_tujuan++;
*pointer_sumber++;
}

Komputer tidak akan peduli dengan versi mana yang dipakai hasilnya akan sama saja. Compiler yang baik akan membuat bahasa mesin yang sama untuk kedua macam program di atas. Namun manakah yang lebih kita mengerti?
Memang program yang kedua jauh lebih banyak memakan baris instruksi dan sering dinilai kurang efektif. Namun, baris-baris program yang kedua lebih mudah dimengerti bahkan oleh orang-orang yang baru saja belajar bahasa pemrograman C/C++. Mereka bisa tahu kalau maksud baris-baris program ini adalah untuk memindahkan isi data dari sebuah sumber ke sebuah tujuan sampai ditemukannya karakter end of line (‘\n’).

Sebuah program yang baik dapat dimengerti dengan mudah baik oleh komputer maupun oleh manusia yang membacanya. Setuju??

Iklan

4 Komentar

  1. Comment di program memang diperlukan, yah beda size source kode dikit lah nggak ngefek 🙂

    :-p

  2. Jangan pernah lupakan dokumentasi program dan desain program yang teliti dan baik. Karena proses perbaikan akan lebih mudah jika dokumentasi yang ada jelas…

  3. Tapi source yang pertama keren juga yah…cuma satu baris tapi terkandung makna yang sangat mendalam (cie……). Aku aja g ngerti pas baca pertama kali. Mungkin souce pertama bisa dipake, tapi dikasi comment dikit.

  4. Seems like perl-one-liner is not acceptable here? 😀


Comments RSS TrackBack Identifier URI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

  • Motivasi minggu ini:

    Ketika kita berkata pada suatu tugas, "ah pasti aku tidak bisa...", maka selamanya kita tidak akan pernah bisa mengerjakannya. Namun jika kita berkata, "jika aku berusaha, pasti aku bisa...", maka kita akan dapat menyelesaikannya.
  • Jalanilah hari2mu dengan penyertaan-Nya

    Desember 2007
    M S S R K J S
    « Nov   Jan »
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
  • Animo Masyarakat Luas

  • Iklan