Kapan Anda mulai menulis Kode Penanganan Pengecualian Anda? Kapan Anda mulai menulis Laporan Pencatatan.
Untuk keperluan menguraikan pertanyaan ini, mari kita asumsikan bahwa kita berada di platform .NET dengan log4net logging tetapi merasa bebas untuk menjawab dengan cara yang umum.
Solusi: Proyek Formulir Windows. Proyek: UI, BusinessRules, DataHandlers
Jadi, apakah Anda ingin menulis DataHandlers Anda yang melakukan manipulasi Data Anda seperti Buat, Baca, Perbarui, Hapus dulu.
Kemudian ikuti dengan Aturan Bisnis Anda
Dan kemudian UI Anda atau permutasi lainnya di atas.
Uji Aplikasi Anda untuk Fungsionalitas.
Dan kemudian mulai menulis Kode Penanganan Pengecualian Anda dan akhirnya kode Penebangan Anda?
Kapan waktu yang tepat untuk mulai menulis kode Penanganan Pengecualian Anda?
PS: Dalam buku Clean Code , mereka mengatakan Tulis blok try-catch-akhirnya Anda terlebih dahulu. Itu, mendorong saya untuk mengajukan pertanyaan ini.
Dalam pengalaman saya, jika Anda tidak menulis kode dengan penanganan kesalahan dan pencatatan yang sesuai sejak awal, itu tidak akan selesai karena tekanan waktu. Upaya pengembangan paling sukses yang telah saya lakukan dimulai dengan waktu yang dihabiskan untuk menentukan struktur aplikasi dasar, termasuk standar pengkodean, bagaimana kesalahan akan ditangani, logging, arsitektur dasar dan alat uji.
Jika tidak, Anda akan menemukan bahwa Anda memiliki tugas untuk versi 2.0 seperti "Meningkatkan penanganan kesalahan" dan "membuat sistem logging". Ini akan dipotong mendukung fitur baru, dan karena Anda memiliki "terlalu banyak yang harus dilakukan", memperbaiki semua bug dalam kasus kesalahan yang tidak Anda pikirkan. (Yang butuh selamanya, karena Anda tidak memiliki sistem logging.
sumber
Tergantung pada apa yang Anda lakukan
untuk pengecualian:
Jika Anda menulis sesuatu yang cenderung memiliki kesalahan atau sesuatu di mana ada poin tingkat atas yang baik untuk membiarkan pengecualian muncul untuk menuliskannya saat Anda pergi.
Jika Anda menulis sesuatu yang membutuhkan kinerja dan memiliki kemungkinan kesalahan yang rendah, maka tidak ada tempat yang berarti untuk meletakkan penangan kesalahan, tulis penangan kesalahan di mana pengujian membuktikan Anda membutuhkannya.
Dalam kedua kasus tersebut, jika Anda tidak memiliki sesuatu yang berguna untuk dilakukan dengan kesalahan, pertimbangkan untuk membiarkannya muncul (tidak ada penangan)
untuk logging:
Jika Anda membutuhkan jejak audit Anda harus menulis logging terlebih dahulu. Jika Anda membiarkan kesalahan menggelembung sampai ke puncak, Anda perlu menyediakan beberapa pencatatan di sana juga agar log dapat ditangkap.
Selain dari kasus-kasus itu saya biasanya hanya menambahkan logging di tempat-tempat di mana pengujian / penggunaan membuktikan itu perlu dan saya biasanya membuat opsi untuk mengkonfigurasinya setelah saya selesai dengan itu.
sumber
Anda dapat menerapkan audit dan penanganan pengecualian sebagai layanan. Pencatatan audit tingkat aplikasi memerlukan data status tentang setiap transaksi bisnis. Kemampuan untuk memonitor aplikasi dalam konteks bisnis atau transaksional memerlukan antarmuka pemantauan dalam layanan untuk mengirim pesan yang merinci status transaksi yang spesifik untuk permintaan layanan. Ini mengharuskan setiap layanan untuk mengirim pesan status pada langkah-langkah penting dalam transaksi bisnis. Anda kemudian dapat membangun penampil waktu-nyata untuk mengkorelasikan pesan status (berdasarkan semantik pesan - misalnya ID transaksi) dengan layanan dalam aplikasi gabungan. Ini memberikan pandangan ujung ke ujung dari transaksi bisnis untuk manajemen SLA, penelusuran kesalahan dan penentuan masalah.
Layanan audit kemudian dapat diimplementasikan sebagai mesin negara yang dapat mengkonsumsi dan merekam pesan berdasarkan kriteria yang ditentukan dalam konfigurasinya. Penangan pengecualian umum juga dapat menggunakan layanan audit untuk mendukung pandangan terpusat masalah yang terjadi dalam SOA perusahaan - untuk mendukung pemantauan berbasis pengecualian. Segala kondisi yang tidak boleh terjadi dalam solusi diinstrumentasi untuk mengirim pesan pengecualian ke penangan pengecualian.
sumber
Tuliskan saat Anda membutuhkannya, tetapi rancang untuk dimasukkannya dari awal.
Dengan kata lain: buat jadi ada cara untuk menangani kapabilitas logging tersebut, dan tambahkan fungsionalitas mur dan baut yang sebenarnya (pesan apa yang dicatatnya) nanti saat diperlukan. Pada pengecualian - tambahkan tangkapan (dan akhirnya jika Anda punya itu) sebelum Anda menulis lemparan. Itu akan membantu untuk tidak melupakan satu dan menyelamatkan diri sendiri iterasi atau paling buruk bug / crash.
sumber