Pola umum untuk menemukan bug mengikuti skrip ini:
- Amati keanehan, misalnya, tidak ada output atau program menggantung.
- Temukan pesan yang relevan di log atau output program, misalnya, "Tidak dapat menemukan Foo". (Berikut ini hanya relevan jika ini adalah jalur yang diambil untuk menemukan bug. Jika tumpukan jejak atau informasi debug lainnya tersedia, itu cerita lain.)
- Temukan kode tempat pesan dicetak.
- Debug kode antara tempat pertama Foo masuk (atau harus masuk) gambar dan di mana pesan dicetak.
Langkah ketiga adalah tempat proses debugging sering terhenti karena ada banyak tempat dalam kode di mana "Tidak dapat menemukan Foo" (atau string templated Could not find {name}
) dicetak. Bahkan, beberapa kali kesalahan ejaan membantu saya menemukan lokasi sebenarnya jauh lebih cepat daripada yang saya lakukan sebelumnya - itu membuat pesan unik di seluruh sistem dan sering di seluruh dunia, sehingga mesin pencari yang relevan langsung mengenai.
Kesimpulan yang jelas dari ini adalah bahwa kita harus menggunakan ID pesan unik secara global dalam kode, mengkodekannya sebagai bagian dari string pesan, dan mungkin memverifikasi bahwa hanya ada satu kemunculan setiap ID dalam basis kode. Dalam hal pemeliharaan, apa yang menurut komunitas ini merupakan pro dan kontra yang paling penting dari pendekatan ini, dan bagaimana Anda akan menerapkan ini atau memastikan bahwa penerapannya tidak pernah diperlukan (dengan asumsi bahwa perangkat lunak akan selalu memiliki bug)?