Sebagai bagian dari upaya refactoring atau hanya pengembangan yang sedang berlangsung, metode tertentu atau mungkin seluruh kelas mungkin menjadi usang dalam beberapa hal. Java mendukung @Deprecated
anotasi untuk menunjukkan bahwa mungkin ada cara yang lebih baik untuk menangani fungsi yang dimaksud. Saya membayangkan ini sangat berguna di API publik di mana efek menghapus bagian dari API mungkin tidak diketahui. Untuk API non-publik dan proyek yang menggunakan sistem kontrol revisi (jadi menghapus bisa dibatalkan dalam beberapa hal), kapan lebih tepat untuk mencela daripada menghapus elemen yang sudah usang?