Сегодня случилось неожиданное. Со мной связался Patrick Smacchia, создатель NDepend. Он каким-то образом нашел меня в сети и предложил профессиональную лицензию :D

Я никогда не использовал NDepend, поэтому, очевидно, мне было очень любопытно. В моей повседневной работе в Dell мы широко используем инструменты статического анализа кода как часть наших конвейеров сборки. Мы также запускаем их несколько раз на нашей машине, но это не обязательный шаг.

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

Они могут легко помочь выявить неприятные проблемы, которые могут даже пройти тестовые пайплайны. Более того, в некоторых случаях они могут дать очень хорошие предложения по рефакторингу, помогая очистить код.

Итак, возвращаясь к NDepend, это один из лучших инструментов анализа .NET на рынке. Проверьте веб-сайт для списка функций, список, безусловно, впечатляет.

Установка прошла довольно просто, проблем не возникло. Просто следуйте инструкциям, приведенным в разделе Начало работы.

Я установил интеграцию с VS2019, а затем загрузил один из проектов, над которым сейчас работаю. Он содержит 4 библиотеки классов и соответствующие тестовые проекты. Запустил анализ NDepend, отфильтровал тесты (с помощью фильтра -test) и подождал несколько секунд, пока процесс завершится.

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

Но в данном случае почти все было понятно… и результаты были весьма неплохие, что определенно подняло мне настроение :D

В целом, я очень доволен NDepend. Менее чем через 30 минут я уже обновлял свою кодовую базу и вносил изменения на основе предложений.

Конечно, я только поцарапал поверхность, есть множество функций, которые мне нужно изучить. Я еще даже не использовал инструмент покрытия.

Думаю, обязательно включу в свою повседневную жизнь. Я напишу в блоге больше в ближайшие дни, как только я стану более «близким» с этим :)

эта статья доступна также в моем блоге, проверьте!