Удаление неиспользуемого кода из проекта
Возможный дубликат:
Найти неиспользуемые классы в проекте Java Eclipse
Я пытаюсь создать проект на основе существующего. Мой проект очень прост и использует классы из основного проекта. Я хотел бы удалить все неиспользуемые классы из моего проекта. Можно ли сделать это как-то автоматически?
Ответы
Ответ 1
Вы можете использовать плагин Eclipse UCDetector.
UCDetector (Ненужный кодовый детектор - произносится как "Вы видите детектор" ) является инструментом eclipse PlugIn, чтобы найти ненужный (мертвый) открытый Java-код. Например, публичные классы, методы или поля, которые не имеют Рекомендации. UCDetector создает маркеры для следующих проблем, которые появляются в представлении проблемы затмения:
- Ненужный (мертвый) код
- Код, в котором видимость может быть изменена на защищенный, по умолчанию или закрытый
- Методы полей, которые могут быть окончательными
Это не будет полностью автоматизировать его, но по крайней мере вы найдете метки для соответствующего кода для удаления.
Ответ 2
Для более общего решения - вы можете обнаружить неиспользуемый код (и другие плохие методы программирования) с помощью инструмента статического анализа кода. Я рекомендую Sonar, но любой другой инструмент статического анализа будет делать. Некоторые из функций включают в себя:
- Более 600 правил кодирования предоставляются с полки от простого соглашения об именах до комплексного обнаружения анти-шаблонов.
- Извлеките в Sonar все классические метрики, связанные с строками кода, циклической сложностью, дублированным кодом, комментариями
В частности, правила, полезные для обнаружения неиспользуемого кода:
- Неиспользуемое частное поле
- Неиспользуемый частный метод
Для поиска неиспользуемых классов рассмотрите возможность использования ProGuard, как предлагается в этой публикации.
Ответ 3
Удалить никогда загруженные классы:
Запустите программу с аргументом VM:
-verbode:class
.
Здесь перечислены все классы, которые загружаются во время запуска программы.
Удалить неиспользуемые методы:
Используя инструмент покрытия кода и запуск вашего проекта с помощью теста, отметьте все неиспользуемые коды.
Например, EclEmma плагин в Eclipse
Таким образом вы можете удалить неиспользуемый код по частям.