Một mô hình phổ biến để định vị một lỗi theo kịch bản này:
- Quan sát sự kỳ lạ, ví dụ, không có đầu ra hoặc chương trình treo.
- Xác định vị trí thông báo có liên quan trong nhật ký hoặc đầu ra chương trình, ví dụ: "Không thể tìm thấy Foo". (Điều sau đây chỉ có liên quan nếu đây là đường dẫn được thực hiện để xác định lỗi. Nếu theo dõi ngăn xếp hoặc thông tin gỡ lỗi khác có sẵn thì đó là một câu chuyện khác.)
- Xác định vị trí mã nơi tin nhắn được in.
- Gỡ lỗi mã giữa nơi đầu tiên Foo nhập (hoặc nên nhập) hình ảnh và nơi thông báo được in.
Bước thứ ba đó là nơi quá trình gỡ lỗi thường bị đình trệ vì có nhiều vị trí trong mã nơi "Không thể tìm thấy Foo" (hoặc một chuỗi templated Could not find {name}
) được in. Trên thực tế, nhiều lần một lỗi chính tả đã giúp tôi tìm vị trí thực tế nhanh hơn nhiều so với cách khác - nó làm cho thông điệp trở nên độc nhất trên toàn hệ thống và thường trên toàn thế giới, dẫn đến một công cụ tìm kiếm có liên quan ngay lập tức.
Kết luận rõ ràng từ điều này là chúng ta nên sử dụng ID tin nhắn duy nhất trên toàn cầu trong mã, mã hóa cứng như một phần của chuỗi tin nhắn và có thể xác minh rằng chỉ có một lần xuất hiện của mỗi ID trong cơ sở mã. Về khả năng bảo trì, cộng đồng này nghĩ gì là ưu và nhược điểm quan trọng nhất của phương pháp này và bạn sẽ thực hiện điều này như thế nào hoặc đảm bảo rằng việc thực hiện nó không bao giờ trở nên cần thiết (giả sử rằng phần mềm sẽ luôn có lỗi)?