Удаление неиспользуемого кода из проекта

Возможный дубликат:
Найти неиспользуемые классы в проекте Java Eclipse

Я пытаюсь создать проект на основе существующего. Мой проект очень прост и использует классы из основного проекта. Я хотел бы удалить все неиспользуемые классы из моего проекта. Можно ли сделать это как-то автоматически?

Ответ 1

Вы можете использовать плагин Eclipse UCDetector.

UCDetector (Ненужный кодовый детектор - произносится как "Вы видите детектор" ) является инструментом eclipse PlugIn, чтобы найти ненужный (мертвый) открытый Java-код. Например, публичные классы, методы или поля, которые не имеют Рекомендации. UCDetector создает маркеры для следующих проблем, которые появляются в представлении проблемы затмения:

  • Ненужный (мертвый) код
  • Код, в котором видимость может быть изменена на защищенный, по умолчанию или закрытый
  • Методы полей, которые могут быть окончательными

Это не будет полностью автоматизировать его, но по крайней мере вы найдете метки для соответствующего кода для удаления.

Ответ 2

Для более общего решения - вы можете обнаружить неиспользуемый код (и другие плохие методы программирования) с помощью инструмента статического анализа кода. Я рекомендую Sonar, но любой другой инструмент статического анализа будет делать. Некоторые из функций включают в себя:

  • Более 600 правил кодирования предоставляются с полки от простого соглашения об именах до комплексного обнаружения анти-шаблонов.
  • Извлеките в Sonar все классические метрики, связанные с строками кода, циклической сложностью, дублированным кодом, комментариями

В частности, правила, полезные для обнаружения неиспользуемого кода:

  • Неиспользуемое частное поле
  • Неиспользуемый частный метод

Для поиска неиспользуемых классов рассмотрите возможность использования ProGuard, как предлагается в этой публикации.

Ответ 3

Удалить никогда загруженные классы:

Запустите программу с аргументом VM:

-verbode:class.

Здесь перечислены все классы, которые загружаются во время запуска программы.

Удалить неиспользуемые методы:

Используя инструмент покрытия кода и запуск вашего проекта с помощью теста, отметьте все неиспользуемые коды.

Например, EclEmma плагин в Eclipse

Таким образом вы можете удалить неиспользуемый код по частям.