Визуализация программного обеспечения для C # - PullRequest
7 голосов
/ 19 января 2009

Кто-нибудь из вас знает инструмент для визуализации программного обеспечения или визуальной навигации по коду в c #?

Я нашел кучу инструментов, но по какой-то причине они все для Java.

Их список в википедии есть, но ни один из них не предназначен для платформы .Net.

http://en.wikipedia.org/wiki/Software_visualization#Tools

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

Ответы [ 8 ]

2 голосов
/ 19 января 2009

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

Попробуйте следующие дополнения на этой странице:

  • График
  • AutoDiagrammer
  • SequenceViz
2 голосов
/ 19 января 2009

Я думаю NDepend - это то, что вы ищете, но, к сожалению, это не бесплатно.


Редактировать: Я только что увидел, что существует ограниченная версия с открытым исходным кодом тоже.

1 голос
/ 21 января 2009

Это будет лишь капля в океане, но пока вы в ней, попробуйте .NET Reference Explorer Стефана Бреннера. Это очень просто, но я нахожу его полезным именно для того, чтобы он делал - сборки с ссылками на графы.

1 голос
/ 19 января 2009

Фредерик, эти надстройки Reflector просто великолепны. Я непременно попробую их.

Меня также интересует "Пространственные представления кода". Речь идет об использовании пространственной памяти для навигации по коду (и не потеряться).

Существует группа Microsoft Research по этому вопросу: http://research.microsoft.com/en-us/projects/SpatialCode/

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

Кто-нибудь знает что-нибудь практическое в этом направлении?

1 голос
/ 19 января 2009

Вы также можете использовать собственную диаграмму классов VS для графического представления некоторых элементов. Хотя я думаю, что он ограничен одним проектом за раз. Добавьте новую «диаграмму классов» в проект, а затем перетащите классы или сборки и т. Д. Из представления «Класс» в него, чтобы добавить их; или перейдите в представление класса и щелкните правой кнопкой мыши, чтобы просмотреть диаграмму. Я нахожу их очень полезными для осмотра, но не настолько хорошими для редактирования.

1 голос
/ 19 января 2009

Отражатель Red Gate (ранее Lutz Roeder's) позволяет просматривать сборки и просматривать их зависимости. Используя функцию анализа, вы можете увидеть, где используется класс и что он использует.

Есть также несколько плагинов, которые облегчают просмотр.

Кроме того, вы можете использовать Visual Studios Object Browser, чтобы просматривать все классы во всех ссылочных сборках и просматривать их зависимости, или вы можете использовать функцию просмотра классов Visual Studio, чтобы получить обзор классов и их свойств.

0 голосов
/ 06 сентября 2018

Softagram обеспечивает программную визуализацию и визуальную навигацию по коду для нескольких языков. В дополнение к .NET C # он также поддерживает C, C ++, Java, JavaScript, TypeScript, Python, PHP, Scala и Go.

Softagram имеет специальные возможности абстрагирования, позволяющие осуществлять визуальную навигацию по коду в самых крупных проектах, таких как Chromium.

Это единственный инструмент визуализации, способный предложить визуализацию изменений программного обеспечения, интегрированную для извлечения запросов Github, Bitbucket и VSTS и их размещенных аналогов (Github Enterprise, Bitbucket Server и TFS).

0 голосов
/ 19 января 2009

Отражатель, конечно, вариант.

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

Примерами (хотя и не в C #) являются CodeCity, EvoSpaces, CodeCrawler, а также некоторые ссылки в википедии, которые я разместил в исходном сообщении.

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

...