Apa yang akan menjadi pendekatan terbaik? Tulis unit test untuk mereka, atau tanyakan mengapa mereka ada di sana?
Menghapus kode adalah hal yang baik.
Ketika Anda tidak dapat menghapus kode, Anda tentu dapat menandainya sebagai @Deprecated , mendokumentasikan rilis utama yang Anda targetkan untuk menghapus metode ini. Kemudian Anda dapat menghapusnya "nanti". Sementara itu, akan jelas bahwa tidak ada kode baru yang ditambahkan tergantung padanya.
Saya tidak akan merekomendasikan berinvestasi dalam metode yang sudah usang - jadi tidak ada pengujian unit baru untuk mencapai target cakupan.
Perbedaan antara keduanya terutama apakah metode tersebut merupakan bagian dari antarmuka yang diterbitkan . Menghapus bagian antarmuka yang diterbitkan secara sewenang-wenang dapat menjadi kejutan yang tidak menyenangkan bagi konsumen yang bergantung pada antarmuka.
Saya tidak dapat berbicara dengan EclEmma, tetapi dari pengalaman saya, salah satu hal yang perlu Anda perhatikan adalah refleksi. Jika, misalnya, Anda menggunakan file konfigurasi teks untuk memilih kelas / metode mana yang akan diakses, perbedaan yang digunakan / tidak digunakan mungkin tidak jelas (saya telah dibakar oleh itu beberapa kali).
Jika proyek Anda adalah daun dalam grafik dependensi, maka kasus penghentian melemah. Jika proyek Anda adalah pustaka, maka kasus penghinaan lebih kuat.
Jika perusahaan Anda menggunakan mono-repo , maka menghapus lebih rendah risikonya daripada dalam kasus multi-repo.
Seperti dicatat oleh l0b0 , jika metode sudah tersedia dalam kontrol sumber, memulihkannya setelah penghapusan adalah latihan langsung ke depan. Jika Anda benar-benar khawatir perlu melakukan itu, pikirkan bagaimana mengatur komit Anda sehingga Anda dapat memulihkan perubahan yang dihapus jika Anda membutuhkannya.
Jika ketidakpastiannya cukup tinggi, Anda dapat mempertimbangkan untuk mengomentari kodenya , daripada menghapusnya. Ini adalah pekerjaan tambahan di jalur bahagia (di mana kode yang dihapus tidak pernah dipulihkan), tetapi itu membuatnya lebih mudah untuk dipulihkan. Dugaan saya adalah bahwa Anda harus memilih penghapusan langsung sampai Anda telah dibakar beberapa kali, yang akan memberi Anda wawasan tentang cara mengevaluasi "ketidakpastian" dalam konteks ini.
pertanyaan mengapa mereka ada di sana?
Waktu yang diinvestasikan untuk menangkap pengetahuan tidak selalu sia-sia. Saya diketahui melakukan penghapusan dalam dua langkah - pertama, dengan menambahkan dan melakukan komentar yang menjelaskan apa yang telah kami pelajari tentang kode, dan kemudian menghapus kode (dan komentar).
Anda juga bisa menggunakan sesuatu yang analog dengan catatan keputusan arsitektural sebagai cara untuk menangkap pengetahuan dengan kode sumber.