Найдите неиспользованный код в Знатоке построенным из модулей проектом

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

Я нашел плагин Инструментов Ядра Eclipse, который похож на большой инструмент, но в нашем случае у нас есть проект Maven2, который разделяется в 3 модулях. Я, может казаться, не могу работать, "находят не имеющих ссылки участников" на родительском проекте, и когда я выполняю его на одном из модулей, он игнорирует полностью то, что другие модули могли бы использовать некоторых общедоступных участников...

Кто-либо преодолел ту проблему? Или найденный другим способом пойти об этом?

Спасибо.

10
задан Tyler Carter 12 February 2010 в 21:18
поделиться

2 ответа

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

Да, в этом проблема, и поэтому нет реального детерминированного способа Найдите неиспользуемый код, как напомнил @cletus в предыдущем ответе .

При этом такие инструменты, как PMD (и его правило unusedcode ), Findbugs могут помочь в любом случае. Такие IDE, как IntelliJ (инспекции кода Java полностью доступны в Community Edition) и Eclipse, также хорошо поддерживают это.

Для IntelliJ см. Глобальная проверка неиспользуемых деклараций :

Благодаря улучшениям во внутренних индексах, лежащих в основе механизма анализа кода Intellij IDEA, Майя сможет мгновенно выделить некоторые классы java, методы и поля, которые не используются во всем проекте.

Для Eclipse существует плагин UCDetector :

UCDetector (Детектор ненужного кода) - это инструмент плагина eclipse с открытым исходным кодом для поиска ненужного (мертвого) общедоступного java-кода. Он также пытается сделать код окончательным, защищенным или закрытым.

alt text

Но, признаюсь, я не уверен, действительно ли какое-либо из этих решений будет работать с модулями. В таком случае я бы предложил поместить весь код в один проект «дворника» (да, это некрасиво, но хорошо ...) и запустить на нем инструменты (и очистить модули на основе полученных результатов).

11
ответ дан 4 December 2019 в 00:24
поделиться

C #, 154 163 170 177 символы

Заимствование нескольких методов из других представлений. (не знал, что C # позволяет вводить массивы таким образом)

static int V(int[] b)
{
   int[] a={0,1,3,1,6,1,0,3,1,3,2,3,0,4,2,2};
   int r=0,i=-2;
   while((i+=2)<16&&(r|=b[a[i]]&b[a[i]+a[i+1]]&b[a[i]+a[i+1]*2])==0){}
   return r;
}
-121--1152331-

Учитывая ваш образец кода, вам не нужно ничего делать.

Если передать эту последовательность JSON веб-методу, она автоматически разберет последовательность JSON и создаст заполненный объект User в качестве параметра для метода, выполняемого с помощью StartTeam.

Как правило, можно использовать класс Javascü Serializer , как показано ниже, или для большей гибкости использовать любой из различных фреймворков JSON (Jayrock JSON - хороший) для легкой манипуляции JSON.

 JavaScriptSerializer jss= new JavaScriptSerializer();
 User user = jss.Deserialize<User>(jsonResponse); 
-121--599892-

Я использовал плагин Core Tools, чтобы найти неиспользуемый код во многих различных модулях maven. Путь построения для каждого проекта должен быть правильно настроен, чтобы Eclipse знал, что между проектами существуют зависимости. Если импортировать проекты с помощью подключаемого модуля m2eclipse, они будут настроены автоматически.

Я думаю, что плагин Core Tools работает так, что он автоматизирует процесс, который выполняет представление «Иерархия вызовов». Выберите метод и выполните команду «Call Hierarchy» (ctrl-alt-H), если нет вызывающих абонентов, тогда основные инструменты должны пометить метод как не вызываемый.

1
ответ дан 4 December 2019 в 00:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: