NDepend - Википедия - NDepend

NDepend
NDepend.jpg
Разработчики)NDepend
Стабильный выпуск
2020.1.0
Операционная системаWindows
ТипКачество программного обеспечения
ЛицензияКоммерческий, Проприетарный
Интернет сайтndepend.com

NDepend это статический анализ инструмент для управляемого кода .NET. Инструмент поддерживает большое количество метрик кода, которые позволяют визуализировать зависимости с помощью ориентированные графы и матрица зависимостей. Инструмент также выполняет сравнение моментальных снимков кодовой базы и проверку архитектурных правил и правил качества. Пользовательские правила могут быть написаны с использованием запросов LINQ. Эта функция называется CQLinq. Инструмент также поставляется с большим количеством предопределенных правил кода CQLinq. Правила кода могут быть проверены автоматически в Visual Studio или во время непрерывная интеграция.

Функции

Основными особенностями NDepend являются:

Правила кода через запросы LINQ (CQLinq)

CQLinq NDepend
Отображается редактор CQLinq и результат запроса

Все последние версии инструмента (после V4) предоставляют запросы реального кода и правила кода через запросы LINQ. Это одно из главных нововведений NDepend. Например:

  • Базовый класс не должен использовать производные:
 //  Базовый класс не должен использовать производные  предупреждать считать > 0  из baseClass в JustMyCodeTypes куда baseClass.IsClass && baseClass.NbДети > 0 // <- для оптимизации! позволять производныеClassesUsed = baseClass.DerivedTypes.Использован(baseClass) куда производныеClassesUsed.Считать() > 0 Выбрать новый { baseClass, производныеClassesUsed }
 //  Избегайте еще большего усложнения сложных методов (цикломатическая сложность исходного кода)  предупреждать считать > 0  из м в JustMyCodeMethods куда  !м.IsAbstract &&   м.IsPresentInBothBuilds() &&   м.CodeWasChanged() позволять oldCC = м.Старая версия().Цикломатическая сложность куда oldCC > 6 && м.Цикломатическая сложность > oldCC  Выбрать новый { м,     oldCC,      newCC = м.Цикломатическая сложность,      oldLoc = м.Старая версия().NbLinesOfCode,     newLoc = м.NbLinesOfCode, }

Кроме того, инструмент предоставляет живой редактор запросов CQLinq с автозавершением кода и встроенной документацией.

Смотрите также

внешняя ссылка

NDepend рассмотрен сообществом .NET

Книги, в которых упоминается NDepend

  • Гириш Сурьянараяна, Ганеш Самартьям и Тушар Шарма. Рефакторинг для разработки программного обеспечения: управление техническим долгом (2014)
  • Марцин Кавалерович и Крейг Бернсон. Непрерывная интеграция в .NET (2010)
  • Джеймс Эйвери и Джим Холмс. Электроинструменты разработчика Windows (2006)
  • Патрик Колдуэлл и Скотт Хансельман. Руководитель кода: использование людей, инструментов и процессов для создания успешного программного обеспечения (2008)
  • Йогеш Шетти и Самир Джаясвал. Практическая .NET для финансовых рынков (2006)
  • Поль Дюваль. Непрерывная интеграция (2007)
  • Рик Лейнекер и Ванесса Л. Уильямс. Настольный справочник по Visual Studio 2008 All-In-One для чайников (2008)
  • Патрик Смачья. Практические .Net 2 и C # 2: использование платформы, языка и фреймворка (2006)