Là một phần của nỗ lực tái cấu trúc hoặc chỉ là sự phát triển đang diễn ra, một phương thức cụ thể hoặc có thể là toàn bộ một lớp có thể trở nên lỗi thời theo một nghĩa nào đó. Java hỗ trợ @Deprecated
chú thích để chỉ ra rằng có lẽ có một cách tốt hơn để xử lý các chức năng được đề cập. Tôi tưởng tượng điều này đặc biệt hữu ích trong các API công cộng, nơi mà các tác động của việc loại bỏ các phần của API có thể không được biết đến. Đối với API không công khai và dự án sử dụng các hệ thống kiểm soát sửa đổi (vì vậy việc xóa có thể được hoàn tác theo một nghĩa nào đó), khi nào thì thích hợp để loại bỏ thay vì xóa (các) phần tử lỗi thời?