C # - Приложение для отображения всех зависимостей между функциями?

Существует ли какое-то приложение, которое анализирует исходный код и графически показывает все связи между функциями?

Он мне нужен для устаревшего кода, над которым я работаю - он огромен, функционален и плохо написан ...: (

10
задан Yossale 29 August 2010 в 08:05
поделиться

4 ответа

NDepend может управлять графом вызовов так же хорошо, как предложил madgnome. Позвольте мне немного развиться. Во-первых, вы можете запросить график вызовов с помощью запроса CQL, во-вторых, вы можете экспортировать результат запроса в график зависимостей или матрицу зависимостей.

Конкретно ниже мы запрашиваем вызывающие методы класса AppDomain в NUnit 2.4.8 (это может быть метод, поле, пространство имен... что угодно). Это меню может появиться и в Visual Studio благодаря надстройке NDepend VS.

alt text

Затем для нас генерируется CQL-запрос, мы видим, что в графе вызовов сопоставляются 30 методов. У нас есть возможность экспортировать этот набор методов в виде графического графика...

alt text

... и вот полученный график (см. увеличенную версию этого графика здесь)

alt text

2
ответ дан 3 December 2019 в 23:48
поделиться

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

Кроме того, в VS.Net 2008 или выше может быть полезно щелкнуть правой кнопкой мыши «Найти все ссылки».

0
ответ дан 3 December 2019 в 23:48
поделиться

В Visual Studio 2010 Ultimate вы можете Создавать диаграммы последовательности:

http://www.devcurry.com/2010/03/generate-sequence-diagrams- in-visual.html

Подробности также можно найти в документации MSDN:

http://msdn.microsoft.com/en-us/library/dd409458.aspx

И это тоже может быть интересно ( Создание графиков зависимостей для кода .NET):

http://msdn.microsoft.com/en-us/library/dd409453.aspx

4
ответ дан 3 December 2019 в 23:48
поделиться

ReSharper предоставляет функции, которые позволяют вам видеть график методов, вызывающих ваш метод, и наоборот. (Исходящие и входящие звонки)

Это новая функция под названием "Отслеживание звонков"

0
ответ дан 3 December 2019 в 23:48
поделиться
Другие вопросы по тегам:

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