Понимание кода - PullRequest
       43

Понимание кода

7 голосов
/ 19 июля 2010

Как лучше всего познакомиться с базой кодов C # приблизительного размера 200K LOC? Есть ли в наличии инструменты?

http://www.program -comprehension.org / Похоже, что с этой целью в течение длительного времени происходит событие.

Спасибо.

Ответы [ 3 ]

7 голосов
/ 19 июля 2010

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

ndepend.com довольно хорош для обзора.

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

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

Навигационные функции ReSharper неоценимы для определения того, что и для чего используется. Find-Usages ужасно полезно. Для изучения кодовой базы Alt + F7 - ваш друг, поскольку он также будет сохранять историю запросов, которые вы выполняли, так что вы можете переходить назад и вперед, чтобы сохранить свое место.

Visual Studio ведет учет позиций курсора / точек редактора и имеет ctrl + - и ctrl + shift + - для перемещения курсора назад и вперед между ними.

Вы можете вставить примечания к себе, если вы выбрали обычный комментарий (например, // NOTE: blah), а затем использовать TODO Explorer от ReSharper, чтобы найти все такие комментарии (и другие шаблоны, которые вы можете определить), а затем перейти к их. Мы используем это для проверки кода на данный момент, например.

Visual Studio (по крайней мере, Professional Edition) может генерировать диаграмму классов; выберите несколько файлов и щелкните правой кнопкой мыши, затем создайте диаграмму классов. Я нахожу их более полезными в качестве писанины, а не артефакта, который нужно держать в курсе и синхронизировать с базой кода, хотя, честно говоря. Он расскажет вам о наследовании, но не очень четко покажет интерфейс-инструменты, и даже не будет пытаться показывать сборы или составные.

1 голос
/ 23 августа 2016

Я использую SonarQube Для визуализации кода.Он показывает код в различных аспектах, и, потратив 15-20 минут на панели мониторинга SonarQube, вы сразу же перейдете к основным частям кода.Мало того, он показывает, какая часть кода сложна, а также где вы можете атаковать, чтобы получить быстрые победы для упрощения кода.

1 голос
/ 19 июля 2010

Как подсказывает @Peter Mounce, NDepend хорошо, и вы можете использовать его бесплатно для некоммерческого использования.Вы получаете много хороших визуализаций, таких как графики зависимостей, которые помогают вам получить представление о происходящем.

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

...