У меня есть большой проект Eclipse, в котором существует несколько классов, которые, хотя они перестали использоваться в любом месте, никогда не были отмечены @Deprecated.
Как я могу легко найти все это?
У меня есть большой проект Eclipse, в котором существует несколько классов, которые, хотя они перестали использоваться в любом месте, никогда не были отмечены @Deprecated.
Как я могу легко найти все это?
Мне также нравится использовать UCDetector:
UCDetector (ненужный кодовый детектор) - это инструмент для подключаемого модуля eclipse с открытым исходным кодом, чтобы найти ненужный (мертвый) открытый Java-код. Он также пытается сделать код окончательным, защищенным или приватным.
Бонус: он также может найти циклические зависимости между классами
(также количество других инструментов - включая Findbugs - знает, как это сделать)
Caveat: Cid упоминает в комментариях:
UCDetector не должен работать, если существуют реализации интерфейса, которые будут известны только во время выполнения.
Он неправильно отмечает классы реализации как неиспользуемые.
Обновление 2017: статический анализ кода развился довольно много за 8 лет.
Используя SonarLint для Eclipse, вы можете использовать последний плагин SonarJava 4.6, чтобы проанализировать ваш код.
Он будет найти мертвый код.
ProGuard может использоваться для печати отчета о неиспользуемых классах/методах. Это боль для того, чтобы снабжать все зависимые банки.
Эти параметры перечисляют неиспользуемые классы, поля и методы в приложении mypackage.MyApplication:
-injars in.jar
-libraryjars <java.home>/lib/rt.jar
-dontoptimize
-dontobfuscate
-dontpreverify
-printusage
-keep public class mypackage.MyApplication {
public static void main(java.lang.String[]);
}
Просто используйте Analyze | Проверьте код с включенной инспекцией (неиспользуемая декларация в группе резервирования декларации).
Используя IntelliJ 11 CE, вы можете теперь "Проанализировать | Запустить проверку по имени... | Неиспользуемая декларация"