Bạn có biết luật ít ngạc nhiên nhất không? Tôi không chắc về nguồn gốc của nó, nhưng lần đầu tiên tôi đã học được nó từ “Tao lập trình đặc biệt”. Nói một cách đơn giản, đó là nguyên tắc mà phần mềm phải luôn đáp ứng với người dùng theo cách ít đáng kinh ngạc. Nói cách khác, việc in một tờ giấy không nên xóa nó khỏi hệ thống tệp của bạn.
Theo quy luật ít ngạc nhiên nhất, chương trình phải làm gì khi đạt được lỗi khó khăn? Bạn có thể nói rằng nó phải cho người dùng biết. Thật không may, rất nhiều hệ thống chỉ cần chải nó dưới tấm thảm những ngày này.
Tôi nghĩ rằng nó bắt đầu với Windows. Hoặc có thể là mac. Suy nghĩ này khiến người dùng cuối đó quá ngớ ngẩn hoặc quá kinh hoàng về các mã lỗi hoặc tin nhắn chuyên sâu nên chúng tôi mới rời khỏi chúng. Trường hợp tại điểm: iPhone của vợ tôi sẽ không xuất bản hình ảnh. Tôi không có chuyên gia xem xét rằng tôi mang theo một thiết bị Android, nhưng tôi đồng ý nhìn vào nó. Bất kể tôi đã thử gì, tôi có cùng một thông điệp vô dụng: “Không thể xuất bản hình ảnh lý tưởng ngay bây giờ. Vui lòng thử lại sau.” Không chỉ điều này không phải là rất nhiều thông tin, nhưng nó cũng ngụ ý vấn đề là trong một thứ có thể khắc phục sau đó như mạng.
Thủ phạm thực sự? Điều khoản dịch vụ iCloud đã thay đổi và cô đã không chấp nhận hợp đồng mới. Tôi có một cảm giác nó có thể đã xuất hiện yêu cầu cô ấy làm điều đó tại một số điểm, nhưng vì bất cứ lý do nào cô ấy bỏ lỡ nó. Cho đến khi bạn đào vào các cài đặt và kiểm tra hộp để đồng ý với các thuật ngữ đó, “sau” sau đó sẽ không bao giờ xảy ra.
Nhưng nó không chỉ là iPhone. Windows có đầy đủ những thứ như thế và bạn chỉ hy vọng sẽ có một bản ghi trong sự kiện khách hàng với nhiều chi tiết hơn. Tôi cũng thấy nhiều hơn nữa trên Linux, mặc dù thông thường có một tệp nhật ký ở đâu đó nếu bạn biết cách tìm nó. Trong khi tôi nhận được rằng các chương trình có lỗi có nguy cơ đáng kinh ngạc về người dùng, nó thậm chí còn đáng kinh ngạc hơn rất nhiều nếu không có giải thích về những gì sai. Hãy tưởng tượng nếu ngân hàng của bạn đã gửi cho bạn một lưu ý: có vấn đề với tài khoản của bạn. Vì vậy, bạn trả lời: “Tôi đã rút quá mức?” Họ trả lời, “Số” giờ thì sao? Đó là trạng thái của rất nhiều lỗi phần mềm ngày nay.
Thực sự không có lý do gì về hệ thống máy tính để bàn hoặc trang web. Tuy nhiên, bạn có thể muốn tha thứ cho các hệ thống nhúng nhỏ. Đừng! Gần đây tôi đã chuyển firmware máy in 3D Marlin với một bảng ANET A8 – bộ xử lý 8 bit với ít bộ nhớ – điều đó đã được sử dụng phần mềm repetier trong nhiều năm. Lần đầu tiên tôi cố gắng thực hiện một đầu dò tự động, tôi đã nhận được thông báo: thăm dò không thành công. Đó là nó.
Tôi sẽ cấp cho bạn, rằng bạn có thể bật gỡ lỗi autolevel để nhận thêm thông tin, nhưng tôi đã ở mức độ sử dụng flash 98%, do đó sẽ yêu cầu tạm thời xóa một loạt các tính năng và xây dựng lại mã. Nhưng tại sao không làm như chúng ta sẽ làm vào những ngày xưa:
đơn vị global_error = 0;
void do_smoday (void) {
global_error = 1;
if (process1 () == thất bại) trả về;
global_error ++;
if (process2 () == thất bại) trả về;
. . .
global_error = 0;
trở về;
Không
Điều này không mất nhiều không gian. Bây giờ bạn có thể báo cáo một cái gì đó như thăm dò không thành công (8) và ít nhất tôi có thể truy cập mã và tìm ra bước thứ 8 là gì. Tôi chắc chắn ai đó thậm chí sẽ đăng một danh sách các mã và những gì họ chỉ ra trong một trường hợp như thế.
Quá nhiều chi phí? Hãy cho tôi biết bộ đếm chương trình nơi xảy ra lỗi. Đã từng là một thực hành khá phổ biến. Cấp, nó đòi hỏi bạn phải có một tệp bản đồ bộ nhớ và biết cách đọc nó nhưng nó vẫn tốt hơn là không có gì.
Chúng tôi dành nhiều thời gian để suy nghĩ về cách các dự án và phần mềm phải hoạt động. Nhưng chúng ta cũng cần dành thời gian suy nghĩ, về những gì xảy ra khi họ không làm việc. Thật tốt khi chúng ta có thể gỡ lỗi trong mạch hoặc kết nối một máy phân tích logic, nhưng điều đó sẽ không giúp ích cho người dùng của chúng ta. Ngay cả khi nó chỉ dành cho bạn, tại sao không làm cho nó dễ dàng hơn một chút về bản thân?
Như chúng tôi đã nói trước đây, “Không có thứ gọi là quá nhiều thông tin.” Ngoài việc bảo vệ chống lại các lỗi hệ thống, bạn cũng có thể giúp người dùng không phải là chính mình.
Tín dụng hình ảnh: [Elisa Ventur] bằng phương tiện của Unlasher.com