Tôi nghĩ rằng @aaronaught đã đưa ra một số điểm tốt, điều này thực sự dẫn đến câu trả lời tôi muốn đưa ra, đó là nó thực sự phụ thuộc vào người thực hiện thay đổi (và tại sao) và ai đã viết mã.
Theo kinh nghiệm cá nhân của tôi, mã thường được thay đổi bởi vì nó không hoạt động như dự định hoặc bạn chỉ cần mở rộng những gì nó thực sự làm.
Trong môi trường Team dev, bạn không cần phải (và có thể không thể) nói chuyện với người viết mã gốc, mọi thứ phải rõ ràng từ mã.
Điều đó dẫn đến câu hỏi tiêu tốn phần lớn thời gian của tôi, đó là ý định của lập trình viên ban đầu, và đó là câu hỏi thường dẫn đến việc mã bị xóa, và đó là lý do tại sao chúng ta nên bình luận mọi thứ, và nơi các lập trình viên thiếu kinh nghiệm nhất thường rơi hôi.
Bất kỳ lập trình viên nào đang thay đổi mã của người khác (tái cấu trúc) thực sự nên là một vấn đề lịch sự và thực hành sao chép cùng một kiểu mã hóa của mã đã có, và trước tiên hãy thực hiện các bước để tìm ra cách mã gốc hoạt động và những gì nó đang cố gắng để, và thực sự sẽ đạt được. Thường thì điều này tự xác định lỗi, nhưng chắc chắn nó buộc mọi người phải chịu đựng nỗi đau mà người tiếp theo sẽ nhìn vào mã của bạn.
Trong nhóm của tôi, bất kỳ ai cũng có thể xóa, tái cấu trúc hoặc viết lại bất cứ điều gì và tôi xem 'quyền sở hữu' là một thực tiễn gây ra sự lười biếng, như thể một người chắc chắn sẽ được thông báo về bất kỳ thay đổi nào, tại sao họ cần phải đọc mã.
Vì vậy, trong ngắn hạn, không, bạn không cần phải hỏi tác giả ban đầu của mã và nếu nhìn vào mã bạn làm, thì đó là dấu hiệu cho thấy mã của anh ta không thể đọc được hoặc bạn cần cải thiện kỹ năng của bạn. Tuy nhiên, tôi thấy đây là một hình thức tốt để giữ nguyên mã gốc, nhận xét, cho đến khi bạn hoàn toàn chắc chắn rằng khi viết lại, bạn đã vô tình xóa chức năng cần thiết. Không ai là hoàn hảo cả.