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

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

http://www.program-comprehension.org/, которым Это кажется, существует событие, идущее в течение долгого времени с этой целью.

Спасибо.

7
задан Raja 19 July 2010 в 09:19
поделиться

2 ответа

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

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

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

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

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

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

Вы можете вставить примечания для себя, если выберете обычный комментарий (например, // ПРИМЕЧАНИЕ: бла), а затем с помощью ReSharper TODO Explorer найдите все такие комментарии (и другие шаблоны, которые вы можете определить), затем перейдите к их. Мы используем это сейчас, например, для проверки кода.

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

7
ответ дан 7 December 2019 в 03:10
поделиться

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

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

1
ответ дан 7 December 2019 в 03:10
поделиться
Другие вопросы по тегам:

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