Apakah Anda masih menggunakan pernyataan cetak untuk debugging?

Selama saya memprogram (hampir dua dekade sekarang), saya telah menggunakan beberapa bentuk pernyataan cetak untuk keperluan debugging. Menggunakan pernyataan cetak adalah cara yang baik untuk melacak kode Anda dan memecahkan masalah potensial. Selain itu, pernyataan cetak dapat digunakan untuk pencatatan dan tujuan diagnostik.

Namun, debugger interaktif yang memungkinkan Anda untuk menelusuri kode dan memeriksa variabel program Anda dan melihat pelacakan tumpukan telah ada sejak awal 1980-an. Jadi saya terkejut bahwa bahkan setelah sekian lama, banyak programmer masih menggunakan print statement untuk men-debug kode mereka. Sebagai seorang programmer Java, Anda mungkin terlalu akrab dengan metode System.out.println()dan System.err.println(). Faktanya, sebagian besar programmer Java yang saya kenal menggunakan kombinasi editor teks, JDK, dan printlnpernyataan untuk mengembangkan, men-debug, dan menerapkan aplikasi mereka.

Tidak efektif dan menjengkelkan

Meskipun pernyataan cetak dapat bermanfaat, saya tidak pernah menganggapnya sangat efektif. Memeriksa ratusan baris keluaran bisa sangat membebani, dan kodenya sendiri menjadi berantakan dengan banyak baris pernyataan debugging. Selain itu, jika Anda tidak menangkap output ke file, Anda dapat menggulir ke atas dan ke bawah jendela konsol Anda hanya untuk menemukan bahwa Anda telah kehilangan beberapa output karena ukuran buffer jendela Anda terlalu kecil.

Skenario itu menjadi lebih buruk dalam pengembangan JSP / servlet. Dengan aplikasi atau applet mandiri, Anda biasanya tahu di mana output System.outdan / atau System.errberada - baik di jendela konsol Anda atau di konsol Java browser. Dengan JSP dan servlet, Anda mungkin dapat menemukan output di file log mesin JSP / servlet, tetapi tidak selalu demikian. Keluaran kesalahan dan keluaran standar JSP / mesin servlet dapat menuju ke file yang berbeda. Lebih buruk lagi, kebanyakan mesin JSP / servlet mengizinkan Anda untuk mengkonfigurasi / menentukan nama file log. Jika administrator mengkonfigurasi ulang lokasi default dari file-file ini, Anda dapat membuang waktu untuk mencoba mencari file; dan jika Anda tidak memiliki izin untuk mengakses file tersebut, Anda kurang beruntung sampai masalahnya teratasi.

Alternatif yang berhasil

Pengembang berpengalaman umumnya menggunakan semacam kerangka kerja logging / pelacakan yang dapat mengirim semua pesan debug ke satu atau lebih file. Selain itu, kerangka kerja tersebut dapat menyertakan berbagai tingkat debugging yang dapat dikonfigurasi dalam aplikasi. Jadi untuk tujuan pemecahan masalah, level debugging aplikasi dapat dinaikkan (seperti kontrol volume), dan lebih banyak debugging dan / atau pesan diagnostik dapat dibuat.

Tentu saja, alternatif yang lebih baik lagi tersedia di pasaran saat ini, dalam bentuk alat debugging yang baru dan lebih baik. Misalnya, solusi debug MetaMata memungkinkan Anda men-debug kode JSP. IDE Java tradisional seperti Visual Café dan JBuilder memungkinkan Anda menelusuri kode. Menurut saya, Visual Café adalah salah satu IDE yang akhirnya hadir setelah lima tahun berdiri. Visual Café 4.0x memuat jauh lebih cepat daripada pendahulunya, dan juga sangat stabil serta menyediakan fitur-fitur canggih seperti EJB jarak jauh dan debugging JSP. Fitur-fitur itu hampir seluruhnya dapat menghilangkan kebutuhan akan pernyataan cetak - setidaknya untuk tujuan debugging - meskipun Anda mungkin masih ingin menggunakannya untuk logging.

Kesimpulan

Java telah cukup matang dalam lima tahun terakhir, dan alat pengembangan Java juga. Pertanyaannya adalah: apakah Anda salah satu pengembang yang masih menggunakan pernyataan cetak untuk debugging? Dan apakah alat baru akan meyakinkan Anda untuk mengubah gaya debugging? Tulis surat kepada saya dan beri tahu saya. Atau bersuara di forum iSavvix Soapbox.

Anil Hemrajani adalah chief technology officer di iSavvix, sebuah firma layanan teknologi untuk solusi teknologi Java dan Internet dengan layanan lengkap. Dia menyambut baik komentar dan pertanyaan Anda tentang kolom ini.

Pelajari lebih lanjut tentang topik ini

  • MetaMata

    //www.metamata.com

  • Informasi produk Visual Café

    //www.visualcafe.com

  • Informasi produk JBuilder

    //www.inprise.com/jbuilder/

  • Bagian Alat Pengembangan dari Indeks Topikal JavaWorld

    //www.javaworld.com/javaworld/topicalindex/jw-ti-tools.html

  • The JavaWorld Developer Tools Panduan

    //www.javaworld.com/javaworld/tools/

  • Daftar lengkap dari Anil Hemrajani ini Soapbox kolom

    //www.javaworld.com/javaworld/topicalindex/jw-ti-soapbox.html

  • Daftar ke buletin email mingguan gratis JavaWorld Minggu Ini dan ikuti perkembangan terbaru di JavaWorld

    //www.idg.net/jw-subscribe

Cerita ini, "Apakah Anda masih menggunakan pernyataan cetak untuk debugging?" awalnya diterbitkan oleh JavaWorld.