Tôi ngạc nhiên không ai đưa ra câu trả lời rõ ràng và, tôi nghi ngờ, câu hỏi thường được sử dụng nhất trong thực tế: chỉ không đọc các thông báo lỗi.
Phần lớn giá trị của hầu hết các thông báo lỗi chỉ đơn giản là có gì đó không ổn trên dòng như vậy và như vậy. Hầu hết thời gian tôi chỉ nhìn vào số dòng và đi đến dòng đó. Việc "đọc" thông báo lỗi của tôi tại thời điểm đó thường chỉ là bất cứ điều gì mắt tôi bắt gặp khi đi qua, thậm chí không đọc lướt qua. Nếu nó không ngay lập tức rõ ràng những gì sai trên hoặc gần dòng, thì tôi thực sự sẽ đọc tin nhắn. Quy trình công việc này thậm chí còn tốt hơn với một IDE hoặc công cụ làm nổi bật các lỗi tại chỗ và tự động thực hiện đề xuất của Karl Bielefeldt để chỉ xem xét các thay đổi nhỏ.
Tất nhiên, các thông báo lỗi không phải luôn luôn chỉ đến dòng thích hợp, nhưng sau đó chúng thường không chỉ ra nguyên nhân gốc thích hợp, do đó, ngay cả sự hiểu biết đầy đủ về thông báo lỗi cũng sẽ được trợ giúp hạn chế. Sẽ không mất nhiều thời gian để có ý tưởng về thông báo lỗi nào đáng tin cậy hơn về việc định vị dòng thích hợp.
Một mặt, hầu hết các lỗi mà một người mới có khả năng mắc phải có khả năng rất rõ ràng đối với một lập trình viên có kinh nghiệm mà không cần sự trợ giúp từ trình biên dịch. Mặt khác, họ ít có khả năng trở nên quá rõ ràng đối với người mới (mặc dù nhiều người sẽ rõ ràng, hầu hết sai lầm là những sai lầm ngu ngốc). Tại thời điểm này, tôi hoàn toàn đồng ý với Robert Harvey, người mới chỉ cần làm quen với ngôn ngữ này. Không có tránh điều này. Lỗi trình biên dịch tham chiếu các khái niệm xa lạ hoặc có vẻ đáng ngạc nhiên nên được xem là lời nhắc để đào sâu kiến thức về ngôn ngữ. Tương tự như vậy đối với các trường hợp trình biên dịch phàn nàn nhưng bạn không thể hiểu tại sao mã bị sai.
Một lần nữa, tôi đồng ý với Robert Harvey rằng cần có một chiến lược tốt hơn để sử dụng các lỗi biên dịch. Tôi đã phác thảo một số khía cạnh ở trên và câu trả lời của Robert Harvey đưa ra các khía cạnh khác. Thậm chí còn không rõ bạn của bạn hy vọng sẽ làm gì với một "bảng chú giải" như vậy và rất khó có thể một "bảng chú giải" như vậy sẽ thực sự có ích với bạn của bạn. Thông điệp trình biên dịch chắc chắn không phải là nơi để giới thiệu về các khái niệm của ngôn ngữ 1 và "bảng chú giải" không phải là nơi tốt hơn cho nó. Ngay cả với một mô tả sáng suốt về ý nghĩa của thông báo lỗi, nó sẽ không cho bạn biết cách khắc phục vấn đề.
1 Một vài ngôn ngữ, như Elm và Dhall (và có lẽ là Vợt), cũng như một vài triển khai ngôn ngữ "định hướng cho người mới bắt đầu" cố gắng thực hiện điều này. Theo hướng này, lời khuyên của MSalters về việc sử dụng một triển khai khác có liên quan trực tiếp. Cá nhân tôi thấy những điều như vậy không hấp dẫn và không hoàn toàn nhắm vào vấn đề đúng. Điều này không có nghĩa là không có cách nào tạo ra thông báo lỗi tốt hơn, nhưng, đối với tôi, chúng có xu hướng xoay quanh việc làm cho niềm tin của nhà soạn nhạc và nền tảng của những niềm tin đó rõ ràng hơn.