Bất kỳ câu trả lời thẳng sẽ là cực đoan. Rõ ràng có những trường hợp thời hạn quá chặt chẽ đến nỗi bạn phải sử dụng mã xấu, và có những trường hợp mã quá xấu đến nỗi đáng để bỏ lỡ thời hạn để cải thiện nó. Những gì bạn cần là các phương pháp để đánh giá xem bạn đang ở đâu và có lẽ các phương thức để đặt thời hạn thực tế cho phép thời gian viết mã tốt hơn.
Đừng lưu dọn dẹp sau này. Trừ khi bạn thường xuyên có những khoảng thời gian không có gì để làm ngoài việc tái cấu trúc, không có "sau này", bằng cách nào đó nó sẽ trở thành ưu tiên cao hơn để dọn dẹp mã so với hiện tại. Thói quen là "đỏ, xanh, tái cấu trúc", không phải "đỏ, xanh, làm một cái gì đó hoàn toàn khác trong hai tuần, tái cấu trúc". Thực tế, bạn sẽ không thay đổi mã cho đến lần tiếp theo bạn xem lại nó vì một số lý do khác và có lẽ bạn cũng sẽ đến hạn chót. Lựa chọn thực sự của bạn là sửa nó ngay bây giờ hoặc để nó.
Tất nhiên mã được tạo kiểu tốt sẽ tốt hơn mã có kiểu dáng xấu, giả sử bạn có kế hoạch đọc lại nó. Nếu bạn có kế hoạch không bao giờ đọc nó một lần nữa, thì đừng dọn dẹp nó . Vận chuyển điều đầu tiên vượt qua các bài kiểm tra. Nhưng đó là một kịch bản khá hiếm, đối với hầu hết các lập trình viên, điều đó xảy ra gần như không bao giờ. Bỏ qua trường hợp đó, chỉ có bạn có các chi tiết về trường hợp thực tế của bạn để đưa ra phán quyết chi phí sửa chữa là bao nhiêu so với chi phí bao nhiêu (trong bảo trì tăng trong tương lai) để không khắc phục.
Có một số điều không khó khắc phục tại thời điểm mã yêu cầu bảo trì, hơn là sửa lỗi ngay bây giờ. Chúng không thực sự mang lại lợi ích cho bạn nhiều để khắc phục ngay bây giờ. Rõ ràng nhất là sửa chữa tầm thường (lỗi khoảng trắng và tương tự) và vì vậy thật khó để tưởng tượng rằng bạn có thời gian để hỏi câu hỏi này nhưng không sửa chúng ;-) Đối với những câu hỏi không tầm thường và thuộc loại này thì OK , bạn có một số mã không lý tưởng nhưng bạn phải thực dụng. Nó hoạt động và bạn đang trên một thời hạn. Sử dụng nó.
Có một số điều dễ dàng hơn đáng kể để khắc phục ngay bây giờ so với sau này khi (a) chúng không còn mới mẻ trong tâm trí của mọi người; (b) những điều khác đã được viết dựa trên chúng hoặc bắt chước chúng. Đây là những giá trị hơn nhiều để sửa chữa bây giờ, vì vậy hãy ưu tiên chúng. Nếu bạn không có thời gian trong thời hạn để khắc phục những điều này, thì bạn cần phải cố gắng hết sức có thể trong thời hạn dài hơn, bởi vì bạn đang xây dựng nợ trong cơ sở mã của mình mà bạn có thể phải trả lần sau khi bạn truy cập mật mã.
Phương pháp sửa mã ưa thích là thông qua quy trình xem xét. Nhận xét về các vấn đề bạn gặp phải với nó, và gửi lại cho đàn em để thay đổi . Bạn có thể đưa ra ví dụ về ý nghĩa của bạn và rời khỏi đàn em để tìm tất cả các trường hợp trong mã mà họ áp dụng, nhưng đừng chỉ hoàn thành mã của họ cho họ. Nếu bạn làm thì bạn cho họ không có cách nào để cải thiện.
Bạn nên viết các vấn đề phổ biến lên thành một hướng dẫn phong cách có nội dung "không làm điều này, thay vào đó hãy làm điều này" và giải thích lý do tại sao. Cuối cùng, lý do được cho phép là "để làm cho mã của chúng tôi phù hợp về mặt thẩm mỹ", nhưng nếu bạn không chuẩn bị để viết ra các quy tắc của mình với một số biện minh thì có lẽ bạn cũng không nên thực thi chúng. Chỉ cần để mỗi lập trình viên tự do lựa chọn.
Cuối cùng, hãy cẩn thận với xu hướng điều chỉnh công cụ vô thời hạn. Lợi nhuận giảm dần và bạn cần học hỏi kinh nghiệm khi chúng vẫn còn tốt. Điều thực sự cần thiết là bạn hình thành một ý tưởng thực tế về những gì đủ tốt, nếu không bạn không thể có cuộc đàm phán mà bạn đảm bảo rằng thời hạn của bạn cho bạn thời gian để tạo mã "đủ tốt". Dành thời gian của bạn cho những thứ không đủ tốt.