Không có câu trả lời đúng hay sai ở đây, vì điều này phụ thuộc phần lớn vào hoàn cảnh.
Nếu mã đang hoạt động, đang hoạt động, không có giấy tờ và không chứa cơ sở hạ tầng kiểm tra thì tôi sẽ không chạm vào. Nếu ai đó quay trở lại trong tương lai và muốn có các tính năng mới, tôi sẽ cố gắng làm việc với chúng trong mã hiện có trong khi thay đổi ít nhất có thể.
Nếu mã bị lỗi, có vấn đề, thiếu tính năng và được viết bởi một lập trình viên không còn làm việc với công ty nữa, tôi có thể thiết kế lại và viết lại toàn bộ. Tôi luôn có thể tham khảo mã của lập trình viên cho một giải pháp cụ thể cho một vấn đề cụ thể, nhưng nó sẽ giúp tôi tổ chức lại mọi thứ trong tâm trí và trong nguồn. Trong tình huống này, toàn bộ điều có lẽ được thiết kế kém và nó có thể sử dụng một suy nghĩ lại hoàn toàn.
Đối với tất cả mọi thứ ở giữa, tôi sẽ thực hiện phương pháp bạn phác thảo. Tôi sẽ bắt đầu bằng cách làm sạch mọi thứ một cách thẩm mỹ để tôi có thể thấy những gì đang xảy ra. Sau đó, tôi bắt đầu làm việc trên bất kỳ mã nào nổi bật khi cần nhiều công việc nhất. Tôi sẽ thêm tài liệu khi tôi hiểu cách nó hoạt động để tôi sẽ giúp nhớ những gì đang xảy ra.
Cuối cùng, hãy nhớ rằng nếu bạn sẽ duy trì mã ngay bây giờ, nó phải phù hợp với tiêu chuẩn của bạn. Nơi nó không phải, bạn nên dành thời gian để mang nó lên đến tiêu chuẩn của bạn - bất cứ điều gì mà mất. Điều này sẽ giúp bạn tiết kiệm rất nhiều thời gian, công sức và thất vọng trên con đường.
Nguồn
2010-09-23 15:46:02
Đối với những gì đáng giá tôi thực sự yêu cuốn sách Tái cấu trúc của Martin Fowler: http://martinfowler.com/books.html#refactoringRubyEd –