Мне нужен инструмент анализа для C # - PullRequest
4 голосов
/ 26 мая 2011

У меня большой устаревший код на C #.

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

Существует ли какой-либо инструмент, который позволяет быстро анализировать и может ясно показать ассоциации классов, которые помогают мне как можно быстрее войти в эту старую логику?

Буду признателен за любые истории опыта или рекомендации о том, как сделать это лучше всего.

Спасибо!

Ответы [ 6 ]

5 голосов
/ 26 мая 2011

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

Visual Studio 2010 редакция архитектуры поставляется с конструктором диаграмм классов и генерируетДиаграмма классов и зависимости для вас (Архитектура-> Создать график зависимостей-> Диаграмма классов).

Существует также рекламный ролик nDepend .

2 голосов
/ 27 мая 2011

Я бы порекомендовал вам использовать NDepend .

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

2 голосов
/ 26 мая 2011

Я настоятельно рекомендую вам взглянуть на Visual Studio 2010 Architecture Explorer и Графики зависимостей , которые предоставляют вам широкие возможности для анализа устаревших кодов.

1 голос
/ 27 мая 2011

Чтобы завершить ответ O.D, NDepend - это инструмент, специально предназначенный для анализа и освоения больших баз кода .NET (устаревших или нет).

Инструмент предлагает быстрый анализ, граф зависимостей и матрицу зависимостей, сравнение кода, средства управления кодом, полную интеграцию VS и дополнительные функции . Вы можете попробовать это сейчас в своем коде, так как предлагается бесплатная Пробная версия .

Поскольку вас интересует, в частности, изучение зависимостей, таких как ассоциации классов, здесь - это введение в граф зависимостей. class associations dependency graph

Здесь - это введение, начинающееся с матрицы зависимостей (лучше подходит, чем graph, для изучения зависимостей в большом фрагменте кода). assembly associations dependency matrix

0 голосов
/ 07 февраля 2013

Попробуйте запустить его через перспективу кода - он обеспечивает визуализацию вашего приложения в реальном времени.Я обнаружил, что это очень помогло понять, как работает моя большая база устаревших кодов.

https://codeperspective.com/

0 голосов
/ 26 мая 2011

ИМХО лучшее, что вы можете получить, это Resharper - сочетание использования иерархии типов, отслеживания значений и отслеживания вызовов - это лучший способ навигации по старой кодовой базе военного корабля и его освоения.

...