NDepend - NDepend - Wikipedia
Эта статья может быть слишком техническим для большинства читателей, чтобы понять. Пожалуйста помогите улучшить это к Сделайте это понятным для неспециалистов, не снимая технических деталей. (Январь 2017 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
Разработчики) | NDepend |
---|---|
Стабильный выпуск | 2020.1.0 |
Операционная система | Windows |
Тип | Качество программного обеспечения |
Лицензия | Коммерческий, Проприетарный |
Интернет сайт | ndepend |
NDepend это статический анализ инструмент для управляемого кода .NET. Инструмент поддерживает большое количество метрик кода, которые позволяют визуализировать зависимости с помощью ориентированные графы и матрица зависимостей. Инструмент также выполняет сравнение моментальных снимков кодовой базы и проверку архитектурных правил и правил качества. Пользовательские правила могут быть написаны с использованием запросов LINQ. Эта функция называется CQLinq. Инструмент также поставляется с большим количеством предопределенных правил кода CQLinq. Правила кода могут быть проверены автоматически в Visual Studio или во время непрерывная интеграция.
Функции
Основными особенностями NDepend являются:
- Визуализация зависимостей (с использованием графиков зависимостей и матрицы зависимостей)
- Показатели программного обеспечения (NDepend в настоящее время поддерживает 82 метрики кода: Цикломатическая сложность; Афферентное и эфферентное Связь; Реляционный Сплоченность; Google рейтинг страницы типов .NET; Процент кода, покрытого тестами и т. Д.)
- Правило декларативного кода над запросом LINQ (CQLinq)
- Интеграция с Круиз-контроль и TeamCity
- Необязательные ограничения кода в исходном коде с использованием Атрибуты интерфейса командной строки
- Сравнение версий двух версий одного и того же сборка
Правила кода через запросы LINQ (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.aspx (Менеджер программы, Microsoft) обсуждает NDepend
- Обсуждение Stack Overflow: использование NDepend
- Абхишек Сур, на NDepend
- Метрики кода NDepend от Андре Локера
- Статический анализ с NDepend Генри Кордес
- Хендри Лук обсуждает непрерывное качество программного обеспечения с NDepend
- Джим Холмс (автор книги «Инструменты разработчика Windows») на сайте NDepend.
- Марио Романо обсуждает метрики и матрицу зависимостей с NDepend
- Обзор Nates Stuff
- Скотт Митчелл (журнал MSDN), Исследование кода с помощью NDepend
- Трэвис Иллиг о NDepend
Книги, в которых упоминается NDepend
- Гириш Сурьянараяна, Ганеш Самартьям и Тушар Шарма. Рефакторинг для разработки программного обеспечения: управление техническим долгом (2014)
- Марцин Кавалерович и Крейг Бернсон. Непрерывная интеграция в .NET (2010)
- Джеймс Эйвери и Джим Холмс. Электроинструменты разработчика Windows (2006)
- Патрик Колдуэлл и Скотт Хансельман. Руководитель кода: использование людей, инструментов и процессов для создания успешного программного обеспечения (2008)
- Йогеш Шетти и Самир Джаясвал. Практическая .NET для финансовых рынков (2006)
- Поль Дюваль. Непрерывная интеграция (2007)
- Рик Лейнекер и Ванесса Л. Уильямс. Настольный справочник по Visual Studio 2008 All-In-One для чайников (2008)
- Патрик Смачья. Практические .Net 2 и C # 2: использование платформы, языка и фреймворка (2006)