Нещодавно, розширюючи бібліотеку, мене також попередило те застереження про перевірку "не використовується".
Подумайте, чому IntelliJ сигналізує
Зазвичай при рефакторингу всі невикористані методи / параметри повинні бути безпечно видалені (за допомогою безпечного видалення Intellij дії ).
Таким чином, метою IntelliJ (як Checkstyle та інші) є підтримка нашого чистого дизайну. Оскільки невикористані методи не використовуються ні внутрішньо (в src/java/main
), ні зовнішньо перевірені (в src/java/test
), вони здаються застарілими. То чому б не слідувати приказці "Коли сумніваєшся, викинь це".
При рефакторингу це переважно справжня порада. Але якщо ми розробляємо бібліотеку / API, яка призначена для використання в інших базах кодів (модулі / залежності з зовнішнього боку), тоді ми швидше відповідаємо "Коли не використовується, заплутайтеся".
Ми здивовані попередженням IntelliJ. Методи не слід видаляти, оскільки вони насправді призначені для використання в інших місцях . Вони є точками входу .
Потім виберіть відповідне рішення
Усі наведені нижче рішення мають одне в коментарі:
- Спілкуйтеся через свій код, щоб кожен IDE та розробник могли зрозуміти (наприклад, додати тест, щоб він став використовуватися)
- Повідомте про свій намір (наприклад, IntelliJ шляхом переналаштування інспекції коду )
Налаштуйте перевірку або вимкніть
Як описано в різних попередніх відповідях. За допомогою знімків екрана та навігаційних підказок до налаштувань перевірки коду від IntelliJ
Додайте тест
Якщо ви додасте тест на невикористаний (метод, клас тощо), ви отримаєте вигоду 3 способами:
- правильність: (раніше) невикористаний предмет, що тестується тестується (SUT)
- спілкування: ви чітко повідомляєте кожному читачеві, що і як слід використовувати ваш невикористаний (метод, клас тощо)
- оформлення: тепер невикористане нарешті звикло. Тож інспекція IntelliJ більше не знайде і не попередить.
Додайте або позначте як точку входу
Я бачив пропозицію кілька разів:
Кращим підходом ІМО є позначення класу як "точки входу". - Таня Живца 18 серпня о 8:46
Додайте елемент як точку входу . За замовчуванням весь код у глобальній області , а також тести вважаються доступними. Якщо ви знаєте, що метод або функція виконуються, ви можете додати їх як точку входу. Код всередині точки входу тепер також виконується і доступний. Коли ви додаєте точку входу, файли вихідного коду залишаються незмінними , а запис елемента зберігається у проекті під .idea\misc.xml
.