Một compiler đúng kỹ thuật nhưng báo lỗi vô cảm giống như một người đồng nghiệp chỉ biết ném tài liệu vào mặt bạn rồi bỏ đi. Chúng tôi không muốn DUY là một ngôn ngữ kiêu ngạo. Khi lập trình viên viết code sai, compiler phải tôn trọng thời gian của họ bằng cách chỉ ra nguyên nhân và cách sửa một cách dễ hiểu nhất.
Sprint 112 định hình chuẩn UX diagnostics mới: Spans, Error codes, và Fix suggestions.
Thay vì chỉ in ra dòng chữ lỗi thô, diagnostics engine giờ đây trích xuất trực tiếp dòng code vi phạm, dựng khung ngữ cảnh (code frames), vẽ các dấu trỏ màu sắc dưới token bị lỗi, và giải thích rõ:
- Biến này đã bị di chuyển (move) ở dòng nào.
- Vòng đời (region) của dữ liệu kết thúc ở đâu.
- Tại sao kiểu dữ liệu hiện tại không khớp với yêu cầu của chữ ký hàm.
Chúng tôi xây dựng một bộ UX corpus ổn định gồm các kịch bản báo lỗi phổ biến và bắt compiler phải giữ nguyên định dạng in lỗi này qua các thế hệ. Khi tôi chạy test và thấy compiler in ra thông báo lỗi đẹp đẽ, có chỉ dẫn rõ ràng giải pháp khắc phục bằng cách gợi ý thêm từ khóa move hoặc bọc block unsafe, tôi biết mình đã đi đúng hướng. Compiler biết nói thật và nói rõ giúp cho việc gỡ lỗi không còn là một cuộc đoán mò đen tối; nó trở thành một cuộc đối thoại hướng dẫn hữu ích giữa con người và máy biên dịch.
Bình luận (0)
Đang tải bình luận...