Найдите наиболее часто используемые методы Java в Eclipse Workspace - PullRequest
3 голосов
/ 06 февраля 2012

Существует ли подключаемый модуль Eclipse или какой-либо другой инструмент или метод, который будет выполнять поиск по всему проекту Java (и / или всему рабочему пространству) и выявлять (в формате списка / сортируемого) частоту вызовов всех открытых методы в проекте? То есть «какой код использует какой другой код» больше всего?

Я очень хорошо знаком с использованием CTRL-SHIFT-G или CTRL-G; используйте это все время. Я также знаком с представлением иерархии вызовов. Результат, который я ищу, можно описать так: Поиск> Ссылки> Рабочая область ( CTRL-SHIFT-G ) на каждый метод в каждый класс в рабочей области и подсчет / подсчет количества результатов каждый раз с окончательным сортируемым выводом, как в примере ниже.

Идея, приведенная выше, состоит в том, чтобы понять, какие классы / методы используются наиболее часто (не во время выполнения; в этом вопросе «используется»! = «Выполнено»), чтобы расставить приоритеты модульного тестирования на очень большой проект. Я хочу больше использовать JUnit (то есть больше, чем вообще), и идея поиска наиболее используемых методов казалась хорошим началом.

Например, учитывая три класса ClassA, ClassB и ClassC, я бы хотел получить сводку, похожую на эту:

    Method                                       Number of calls
    ClassB.methodThatDoesSomethingMundane()                  134
    ClassC.methodThatDoesCoolStuff()                          78
    ClassC.methodThatDoesImportantThing()                     71
    ClassA.constructor()                                      63
    ClassB.aDifferentBoringMethod()                           37
    ClassA.getSomething()                                     19
    ... etc ... 

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012

JArchitect , коммерческий продукт, кажется, имеет интересный модуль метрик :

Ранг метода : значения MethodRankвычисляется путем применения алгоритма Google PageRank на графике зависимостей методов.Применяется гомотетичность центра 0,15, чтобы среднее значение MethodRank было равно 1.

Рекомендации. Методы с высоким значением MethodRank следует проверять более тщательно, поскольку ошибки в таких методах, вероятно, будут более катастрофическими.

Я не проверял, но это стоит попробовать.

Но я не думаю, что это сработает, если вы используете отражение Java.

1 голос
/ 06 февраля 2012

Для этого можно использовать профилировщик (например, VisualVM, jvisualvm.exe в папке jdk / bin /).

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