(giả sử mã sản xuất)
Tôi có xu hướng đi xa hơn một chút. Tôi đã viết về việc tạo ra các chương trình "bằng chứng ngốc", nhưng tôi không luôn đủ điều kiện rằng: Tôi viết rất nhiều mã mà người khác sẽ không nhìn thấy hoặc làm việc với (ít nhất, đó là kỳ vọng khi nó được viết). TôiTôi là thằng ngốc tôi đang cố bảo vệ mình trong trường hợp đó. Đó là một điều tốt khi chương trình của bạn phát hiện ra các vấn đề cho bạn và vấn đề đã được đơn giản hóa đến mức rõ ràng là có lỗi và nguồn gốc của nó. Sự thật là, chi tiết triển khai rất rõ ràng khi bạn viết chương trình (trừ khi bạn triển khai sớm), nhưng chúng phải được trừu tượng hóa và chống lỗi cho khách hàng (ngay cả khi địa phương mô-đun tồn tại). Lý do là các chương trình trở nên rất phức tạp. Đôi khi bạn có thể tách vấn đề, nhưng không phải tất cả thời gian. Nếu bạn giữ các thành phần của mình rất nghiêm ngặt, đơn giản, được đóng gói tốt và bằng chứng ngốc, chúng có xu hướng mở rộng tốt và hầu hết các lỗi được phát hiện trước khi chúng được chuyển đi. Việc sử dụng lại dễ dàng hơn và bạn cũng có sự tự tin hơn và thời gian sử dụng lại các chương trình dễ dàng hơn. những chương trình phức tạp mà bạn viết chỉ trở nên phức tạp hơn (thậm chí với bạn) sau một thời gian rời khỏi chương trình. Khi bạn đọc nó trong 6 tháng, có thể mất một khoảng thời gian vô lý để hiểu và gỡ lỗi so với phiên bản bằng chứng ngốc. Nếu một thành phần giới thiệu một sự thay đổi đột phá, nó có thể không bị phát hiện trong một thời gian dài. Các chương trình rất phức tạp; bạn không thể thoát khỏi thực tế đó, nhưng bạn có thể biến nó thành bằng chứng ngu ngốc, điều này sẽ giúp cuộc sống của bạn dễ dàng hơn rất nhiều khi có sự cố hoặc khi nó phải được sử dụng lại hoặc thay đổi. Do đó, cách tiếp cận bằng chứng ngu ngốc có nghĩa là phần mềm của bạn có thể được hiểu, sử dụng lại hoặc duy trì bởi đàn em hoặc những người mới hơn trong nhóm (không chỉ là người giỏi / có kinh nghiệm như bạn). Thay thế là một mối quan tâm riêng biệt: Nếu mọi người thích làm việc với các chương trình của bạn, bạn đang làm tốt công việc - đừng ' t lo lắng về sự thay thế. Chắc chắn, tôi có thể đưa ra các kịch bản trong đó các chương trình khó hiểu có thể cứu công việc của bạn, nhưng viết một chương trình tốt mà người khác có thể sử dụng và duy trì rõ ràng là điều xấu xa hơn (nhìn vào sự hồi sinh của người khác). Nếu tôi bắt mình viết một cái gì đó không phải là bằng chứng ngu ngốc, tôi sẽ cố gắng sửa nó.
Ngoài kịch bản, nơi bạn cần một số tài liệu cho chính mình để tiếp tục dự án sau 6 tháng tạm dừng, dường như có một xung đột lợi ích rõ ràng ở đây giữa nhà phát triển và công ty phần mềm.
Bạn thực sự không biết bạn đã nghĩ gì khi bạn xem lại các triển khai không hoạt động. Khi bạn thực sự có kinh nghiệm, thì vấn đề sẽ đơn giản hơn vì bạn có thể dựa nhiều hơn vào các phương pháp hoặc phương pháp đã được thiết lập mà bạn sử dụng. Tuy nhiên, điều đó cũng cho rằng các phương pháp này là bất biến. Mặc dù tài liệu có thể lỏng lẻo, bạn vẫn phải phòng thủ trong việc triển khai của mình (ví dụ: bạn biết rõ hơn là vượt qua NULL trong kịch bản này - kiểm tra điều kiện đó).
Vì vậy, là một lập trình viên, bạn nên thực sự viết tài liệu tuyệt vời và mã dễ đọc cho mọi người; hoặc bạn nên viết mã và tài liệu theo cách mà nó thực hiện công việc và chính bạn có thể hiểu nó, nhưng một người khác có thể gặp khó khăn khi hiểu nó?
Tôi khuyên bạn nên sử dụng phương pháp chứng minh ngu ngốc, thậm chí còn rõ ràng hơn và có khả năng chống lỗi cao hơn so với phương pháp tiếp cận yếu tố xe buýt. Viết chương trình và tài liệu của bạn sao cho dễ hiểu bởi ai đó bên ngoài dự án - nó cũng tốt cho bạn. Làm như vậy sẽ tăng giá trị của bạn cho công ty và nhóm của bạn, họ sẽ không muốn thay thế bạn.