Який був би найкращий підхід? Напишіть для них одиничні тести або запитайте, чому вони там?
Видалення коду - це добре.
Якщо ви не можете видалити код, ви, безумовно, можете позначити його як @Deprecated , задокументувавши, який основний реліз ви націляєте на видалення методу. Потім ви можете видалити його "пізніше". Тим часом буде зрозуміло, що не слід додавати новий код, який залежить від нього.
Я б не рекомендував вкладати кошти у застарілі методи - тому немає нових тестових одиниць, щоб досягти мети покриття.
Різниця між ними полягає насамперед у тому, чи методи є частиною опублікованого інтерфейсу . Довільне видалення частин опублікованого інтерфейсу може стати неприємним сюрпризом для споживачів, які залежали від інтерфейсу.
Я не можу говорити з EclEmma, але з мого досвіду одна з речей, над якою потрібно бути обережною, - це рефлексія. Якщо, наприклад, ви використовуєте текстові файли конфігурації для вибору класів / методів доступу, використовуване / невикористане розрізнення може бути не очевидним (мене це спалювало в кілька разів).
Якщо ваш проект являє собою аркуш графіка залежності, то випадок депресії слабшає. Якщо ваш проект - бібліотека, то випадок депресації сильніший.
Якщо ваша компанія використовує моно-репо , то видалення є меншим ризиком, ніж у випадку мульти-репо.
Як зазначає l0b0 , якщо методи вже доступні в керуванні джерелами, відновлення їх після видалення є прямою вправою. Якщо ви дійсно переживаєте, чи не потрібно це робити, подумайте, як упорядкувати свої комісії, щоб ви могли відновити видалені зміни, якщо вони вам потрібні.
Якщо невизначеність досить висока, ви можете скористатися коментуванням коду , а не видалити його. Це додаткова робота в щасливому шляху (де видалений код ніколи не відновлюється), але це полегшує відновлення. Я здогадуюсь, що вам слід віддати перевагу прямому видаленню до тих пір, поки вас пару разів не спалить, що дасть вам певну думку про те, як оцінити "невизначеність" у цьому контексті.
питання, чому вони там?
Час, вкладений у захоплення краєзнавства, не обов'язково даремно. Мені було відомо, що видалення виконується в два етапи - спочатку додаючи та додаючи коментар, пояснюючи те, що ми дізналися про код, а потім видаляючи код (та коментар).
Ви також можете використати щось аналогічне архівам архітектурних рішень як спосіб захоплення знань із вихідним кодом.