Jump to content

NDepend

NDepend
Разработчик(и) NDepend
Стабильная версия
2024.1
Операционная система Окна
Тип Качество программного обеспечения
Лицензия Коммерческий, Собственный
Веб-сайт независимо

NDepend — это инструмент статического анализа кода C# и .NET для управления качеством и безопасностью кода. Инструмент предлагает большое количество функций, от веб-отчетов CI/CD до контроля качества и визуализации зависимостей. По этой причине сообщество называет его «швейцарским армейским ножом» для разработчиков .NET.

Список исходных файлов отчета NDepend
Список исходных файлов отчета NDepend
График зависимостей NDepend


Основные особенности NDepend:

Правила кода с помощью запросов LINQ (CQLinq)

[ редактировать ]
Код NDepend, запрашивающий CQLinq

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

  • Базовый класс не должен использовать производные:
 // <Name>Base class should not use derivatives</Name>
 warnif count > 0 
 from baseClass in JustMyCodeTypes
 where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
 let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
 where derivedClassesUsed.Count() > 0
 select new { baseClass, derivedClassesUsed }
 // <Name>Avoid making complex methods even more complex (source code cyclomatic complexity)</Name>
 warnif count > 0 
 from m in JustMyCodeMethods where
  !m.IsAbstract &&
   m.IsPresentInBothBuilds() &&
   m.CodeWasChanged()
 let oldCC = m.OlderVersion().CyclomaticComplexity
 where oldCC > 6 && m.CyclomaticComplexity > oldCC 
 select new { m,
     oldCC, 
     newCC = m.CyclomaticComplexity, 
     oldLoc = m.OlderVersion().NbLinesOfCode,
     newLoc = m.NbLinesOfCode,
 }

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

См. также

[ редактировать ]
[ редактировать ]

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

[ редактировать ]

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

[ редактировать ]
  • Гириш Сурьянараяна, Ганеш Самартьям и Тушар Шарма. Рефакторинг для запахов проектирования программного обеспечения: управление техническим долгом (2014)
  • Марцин Кавалерович и Крейг Бернтсон. Непрерывная интеграция в .NET (2010 г.)
  • Джеймс Эйвери и Джим Холмс. Мощные инструменты для разработчиков Windows (2006 г.)
  • Патрик Колдуэлл и Скотт Хансельман . Лидер кода: использование людей, инструментов и процессов для создания успешного программного обеспечения (2008)
  • Йогеш Шетти и Самир Джаясвал. Практическая .NET для финансовых рынков (2006 г.)
  • Поль Дюваль. Непрерывная интеграция (2007)
  • Рик Лейнекер и Ванесса Л. Уильямс. Универсальное настольное руководство по Visual Studio 2008 для чайников (2008 г.)
  • Патрик Смаккиа. Практические .Net 2 и C# 2: используйте платформу, язык, фреймворк (2006 г.)
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 323e0d7240d24d1464d3846fca2ce1ca__1714705080
URL1:https://arc.ask3.ru/arc/aa/32/ca/323e0d7240d24d1464d3846fca2ce1ca.html
Заголовок, (Title) документа по адресу, URL1:
NDepend - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)