2008/11/9 Eko Prasetya <[EMAIL PROTECTED]>:
> Better yet, gunakan lint.
>

Ya, sebenarnya sih kalo cuma sekedar a=0 itu bisa dideteksi dengan gcc -Wall

Menggunakan lint itu hal yang baik.

Tapi intinya  kebiasaan yang baik tidak bisa digantikan oleh tools,
dan membentuk kebiasaan yang baik itu perlu. Contoh lain, kebiasaan
menggunakan kurung kurawal secara konsisten meskipun hanya untuk
mengeksekusi ekspresi, misalnya:

if (a<0) printf("X1");
else if (b<0) printf ("X2");
else printf ("C3");

milik siapa else yang terakhir? (apa outputnya jika a = 0 dan b = -1?)
Sebagian besar implementasi lint yang saya ketahui tidak memberi
peringatan terhadap hal tersebut. Akan lebih jelas jika dituliskan:


if (a<0) {
  printf("X1") ;
}else {
   if (b<0) {
      printf ("X2");
   }  else {
      printf ("C3");
}


Ada banyak tools yang memang berguna dan membantu, tapi menurut saya
tools tersebut seharusnya hanya dijadikan "pengawas" untuk membentuk
kebiasaan baik. Salah satu favorit saya misalnya valgrind untuk
pengecekan memory. Tadinya ketika membuat program kompleks dengan
banyak alokasi memori, saya sering bergantung pada valgrind untuk
memastikan program saya benar, tapi lama kelamaan tools ini menjadi
tidak perlu (sekedar untuk testing di fase akhir). Di OS X tidak ada
tools sebagus valgrind, tapi karena kebiasaan sudah terbentuk, saya
tidak terlalu membutuhkannya lagi.

Dan pernahkah Anda mencoba menjalankan lint di environment yang tidak
standar? misalnya untuk mengembangkan aplikasi Symbian? (dulu ketika
mulai memprogram symbian, belum ada lint khusus untuk Symbian,
sekarang pun belum ada yang khusus untuk development symbian di
Linux). Di lingkungan baru, kebiasaan yang baik akan lebih berguna.

-- 
Regards
Yohanes
http://tinyhack.com/freewarelist/s603rd/


>
> KOkon.
>
> 2008/11/8 Sihab <[EMAIL PROTECTED]>:
>> Yohanes Nugroho wrote:
>>
>>> Misalnya di pemrograman C, menuliskan a==0 atau 0==a sama saja, tapi
>>> kebiasaan menuliskan 0==a lebih baik, karena jika membuat kesalahan
>>> 0=a adalah ekspresi yang tidak valid, sedangkan a=0 adalah ekspresi
>>> yang valid (tapi hasilnya tidak seperti yang diharapkan).
>>
>> Nice tips :)

-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis

Kirim email ke