NDepend: Rolls Royce в мире .NET Инструментов для проверки качества кода

NDepend - это инструмент обеспечения качества кода для.NET разработчиков и архитекторов https://www.ndepend.com/. Со мной недавно связалась команда NDepend, чтобы попробовать и написать о своих впечатлениях.
Я немного поиграл с этим инструментом, но сейчас у меня не так много времени, чтобы написать подробный обзор этого продукта. Однако инструмент выглядит очень многообещающе, поэтому давайте быстро посмотрим, что он может рассказать о тестовом проекте OSS eShopOnWeb https://github.com/dotnet-architecture/eShopOnWeb.
Сначала я распаковал файлы NDepend, затем установил расширения NDepend for Visual Studio 2019 (для этого есть исполняемый файл NDepend.VisualStudioExtension.Installer.exe). Затем я открыл его в VS, и создаю проект NDepend для этого решения и начинаю анализ.
Анализ очень быстрый, и через несколько секунд я вижу эту панель. Можно щелкнуть по каждому элементу, чтобы углубиться в цифры.

Если я нажму на 377 проблем, я смогу увидеть их сгруппированными по правилам (посмотрите на поле со списком Группировать проблемы по правилам на предыдущем снимке экрана панели инструментов, я могу изменить способ группировки проблем)

Большинство проблем происходит из-за плохо проверенного кода (238 из 377 проблем!). Также мы можем увидеть столбец Технический долг, который в человеко-часах показывает, как долго стоит исправлять проблемы. По оценкам NDepend, для решения проблемы покрытия кода потребуется 5 дней.

Если я нажму кнопку «Просмотреть исходный код», то увижу, что проблемы на самом деле выбираются с помощью настраиваемого запроса C# LINQ. На самом деле, с NDepend почти все функции основаны на запросах кода, как описано в видео-учебнике Code Query https://www.youtube.com/watch?v=sWIR9BrbhHo (здесь можно посмотреть больше обучающих видео https://www.ndepend.com/docs/videos).

 

Существует несколько средств для просмотра кода, включая граф зависимостей https://www.ndepend.com/docs/visual-studio-dependency-graph и матрицу зависимостейhttps://www.ndepend.com/docs/dependency-structure-matrix-dsm.

 

NDepend также содержит инструмент для метрики кода. Все общие метрики кода https://www.ndepend.com/docs/code-metrics вычисляются из кода. Их можно визуализировать с помощью цветной карты дерева. Здесь мы можем сразу увидеть, какая часть кода хорошо покрыта тестами или нет:

Напоследок отмечу, что NDepend может быть интегрирован в CI для создания интерактивных отчетов HTML + javascript (примеры отчетов можно найти здесь https://www.ndepend.com/sample-reports/).

Также мне очень понравилось расширение для Azure DevOps, которое вы можете попробовать утсновить отсюда: https://marketplace.visualstudio.com/items?itemName=ndepend.ndependextension

14-дневную пробную версию можно загрузить здесь: https://www.ndepend.com/download, а цены доступны здесь: https://www.ndepend.com/purchase.

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

 

Add comment