Мне нужен инструмент анализа для C#

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

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

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

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

Спасибо!

6 ответов

Решение

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

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

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

Редакция архитектуры Visual Studio 2010 поставляется с конструктором диаграмм классов и сгенерирует для вас диаграмму классов и зависимости (Architecture->Generate Dependency Graph->Class Diagram).

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

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

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

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

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

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

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

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

https://codeperspective.com/

Другие вопросы по тегам