Artikel ini adalah lanjutan dari artikel sebelumnya. Jika Anda belum membaca artikel sebelumnya, Anda bisa membacanya 10 Kesalahan Yang Paling Banyak dilakukan oleh Programmer Pemula (Bagian 1).
6. Menggunakan object stream tanpa melakukan cek apakah gagal atau berhasil
Ketika membuat sebuah program atau aplikasi, terkadang Anda berhubungan dengan file eksternal. Untuk bisa membaca, mengedit atau menghapus file eksternal, Anda harus membuka dulu file tersebut dengan cara membuat koneksi. Koneksi terhadap file eksternal disebut dengan object stream.
Melakukan koneksi dengan file eksternal termasuk proses yang rawan sekali dengan bug. Oleh karena itu Anda harus membuat kode program yang dapat mengatasi masalah tersebut. Di antaranya dengan melakukan langkah-langkah pengecekan terlebih dahulu.
int value;
while(!input.eof())
{
input >> value;
processValue(value)
}
Potongan program di atas adalah untuk membaca seluruh isi file kemudian melakukan proses tertentu. Program akan membaca seluruh isi file sampe akhir file. Akan tetapi yang perlu diperhatikan adalah, variabel yang digunakan untuk menyimpan isi file bertipe integer. Jika di dalam file tersebut terdapat data selain integer, misalkan string, maka akan menyebabkan error. Karena tipe data integer hanya bisa digunakan untuk menyimpan data integer saja.
Untuk memperbaiki kode program di atas, maka Anda harus bisa memastikan bahwa data yang dibaca bertipe integer. Tentu saja ini sulit, karena file eksternal bisa datang dari berbagai macam sumber, dan kemungkinan adanya data selain integer sangat besar. Oleh karena yang bisa Anda lakukan adalah melakukan pengecekan terhadap tipe data yang dibaca sebelum menyimpan data tersebut. Perhatikan potongan program berikut:
int value;
while(!input.eof())
{
input >> value;
if (input.fail())
{
break;
}
processValue(value)
}
7. Penggunaan Exception
yang tidak tepat.
Exception
merupakan sebuah tool yang sangat berguna. Dengan Exception
, Anda bisa menangkap error yang tidak diinginkan sehingga program tetap berjalan normal tanpa ada interupsi. Akan tetapi terkadang, beberapa programmer menggunakan Exception
dengan tidak tepat, terutama programmer pemula. Perhatikan potongan kode program berikut:
// delete the file
try
{
deleteFile(filename);
}
// ignore the error if the file is not present
catch(...)
{
}
Potongan program di atas adalah untuk mendelete sebuah file, jika terjadi kegagalan maka akan masuk ke dalam blok catch
. Secara umum kode program di atas sudah benar, akan tetapi kesalahannya adalah pada penggunaaan Exception
. Kode program di atas akan menangkap semua jenis Exception
. Semestinya, penggunaan Exception
bisa di breakdown sesuai kebutuhan. Perhatikan contoh berikut:
// delete the file
try
{
deleteFile(filename);
}
// ignore the error if the file is not present
catch(FileNotFoundException& e)
{
}
Pada contoh di atas, kita hanya melakukan catch pada FileNotFoundException
. Tentu ini hanya contoh sederhana, Anda bisa menambah dengan Exception
yang lain yang sesuai. Dengan melakukan breakdown pada catch
, pesan yang bisa ditampilkan oleh user akan lebih sesuai sehingga user dapat memahami apa kondisi error yang terjadi.
8. Tidak membuat program log yang baik
Program log dapat diibaratkan sebagai kotak hitam yang ada di pesawat. Tugasnya adalah merekam seluruh aktifitas pada aplikasi yang sedang berjalan. Jika terjadi kesalahan pada sebuah aplikasi Anda bisa langsung mendeteksi kesalahan tersebut dengan melihat pada program log.
Sebuah program yang baik seharusnya dapat merekam secara detail setiap aktifitas dari aplikasi, terutama aplikasi yang berjalan di background. Dengan adanya program log yang lengkap dan detail, maka akan memudahkan programmer dalam mencari penyebab kesalahan yang terjadi jika suatu waktu terjadi kesalahan pada aplikasi. Programmer pemula biasanya tidak membuat program log dengan baik, sehingga sewaktu-waktu aplikasi yang dibuat crash, maka tidak ada cara untuk mencari kesalahan dari program.
9. Tidak menggunakan debugger
.
Debugger
merupakan teman bagi programmer. Untuk mengecek nilai sebuah variabel pada saat runtime Anda bisa menggunakan debugger
. Dengan debugger
, pekerjaan mencari bug
atau error menjadi lebih mudah. Programmer pemula biasanya jarang sekali menggunakan debugger, atau bisa jadi tidak tau apa kegunaan dari debugger.
10. Tidak melakukan backup pekerjaan secara reguler
Apapun bisa saja terjadi dengan laptop atau komputer Anda. Jadi pastikan Anda selalu melakukan backup pekerjaan secara rutin. Masalah yang sering adalah hard disk crash atau bahkan laptop hilang. Jika sudah begitu maka Anda harus mengulang pekerjaan Anda yang mungkin sudah ribuan baris kode.
Bayangkan betapa susahnya jika harus mengulang semua pekerjaan Anda. maka sebelum itu terjadi, sebaiknya Anda secara rutin melakukan backup. Lakukanlah backup di cloud, atau bisa juga menggunakan repository git seperti bitbucket atau gitlab.