Kami meluncurkan sistem, dan terkadang kami mendapatkan pengecualian yang terkenal NullReferenceException
dengan pesannya Object reference not set to an instance of an object
.
Namun, dalam metode di mana kita memiliki hampir 20 objek, memiliki log yang mengatakan objek adalah null, benar-benar tidak berguna sama sekali. Ini seperti memberi tahu Anda, ketika Anda adalah agen keamanan sebuah seminar, bahwa seorang pria di antara 100 hadirin adalah seorang teroris. Itu benar-benar tidak berguna sama sekali bagi Anda. Anda harus mendapatkan informasi lebih lanjut, jika Anda ingin mendeteksi pria mana yang merupakan pria yang mengancam.
Demikian juga, jika kita ingin menghapus bug, kita perlu tahu objek mana yang null.
Sekarang, sesuatu telah terobsesi dengan pikiran saya selama beberapa bulan, dan itu adalah:
Mengapa .NET tidak memberi kami nama, atau setidaknya jenis referensi objek, yang nol?. Tidak bisakah ia memahami tipe dari refleksi atau sumber lain?
Juga, apa praktik terbaik untuk memahami objek mana yang nol? Haruskah kita selalu menguji nullability objek dalam konteks ini secara manual dan mencatat hasilnya? Apakah ada cara yang lebih baik?
Pembaruan:
Pengecualian The system cannot find the file specified
memiliki sifat yang sama. Anda tidak dapat menemukan file mana, sampai Anda melampirkan ke proses dan debug. Saya kira jenis pengecualian ini bisa menjadi lebih cerdas. Bukankah lebih baik jika .NET dapat memberi tahu kami c:\temp.txt doesn't exist.
alih-alih pesan umum itu? Sebagai pengembang, saya memilih ya.
new
untuk membuat instance kelas. Kapan petunjuk semacam itu benar-benar membantu?