Как начать использовать ndepend?

#.net #static-analysis #ndepend

Вопрос:

Недавно я скачал ndepend и провел анализ проекта с открытым исходным кодом, в котором я участвую.

Я не знал, куда теперь смотреть дальше — немного визуальной и информационной перегрузки, и оказалось, что я даже не знаю, с чего начать.

Может ли кто-нибудь предложить отправные точки?

  • Какую информацию мне следует искать в первую очередь?
  • Что указывает на проблемы в коде (в ЗНАЧИТЕЛЬНОЙ степени)?
  • Что бы это были за низко висящие плоды, которые можно сразу увидеть?

Ответ №1:

На плакате Скотта Хансельмана / Стюарта Селарьера / Патрика Колдуэлла с показателями ndepend есть некоторая полезная информация. Вместо того, чтобы пытаться разбить все используемые эвристики, я бы сосредоточился только на нескольких за раз, начиная с «зоны боли / зоны бесполезности» и цикломатической сложности.

Существует также подкаст, в котором рассказывается о некоторых основах этого инструмента.

Между этим и запуском NDepend в нескольких различных проектах вы, возможно, сможете начать собирать полезные данные, которые вы можете превратить в идеи.

Ответ №2:

При запуске с NDepend самое важное-понять, какое правило кода над LINQ (CQLinq) может принести ваш магазин, позволяя вам определять запросы к вашему коду и правилам. Здесь вы найдете краткое изложение и исходный код всех 200 правил кода по умолчанию.

Вторая по важности вещь, на которую следует обратить внимание,-это зависимости, как в представлении графика зависимостей, так и в представлении матрицы зависимостей. Как только вы освоите эти 2 представления, вы сможете точно определить, где код хорошо продуман или нет, и где разработчики допустили ошибку.

Затем придет время изучить более подробные функции, такие как возможность сравнения 2 версий вашей базы кода, различные показатели кода и причины их полезности, обеспечение статической чистоты и неизменности, автоматическое управление охватом тестирования

Комментарии:

1. IME на самом деле невозможно «освоить эти 2 представления» в версии eval. Матрица закроется сама по себе после 7 щелчков (я кричу на монитор после третьего раза, когда это происходит), и график, скорее всего, будет невероятно плотной почтовой маркой, которую вы не сможете увеличить. Я хотел бы, чтобы была надлежащая оценка этого продукта — каждый восторженный отзыв в Интернете написан кем-то с бесплатной копией, и хотя я вовсе не имею в виду тратить деньги на инструменты, я никогда, никогда не мог убедить себя, что NDepend полезен. Возможно, это потому, что версия eval на самом деле бесполезна.

2. Просто обратитесь за поддержкой к поставщику и получите свою 2-недельную оценку

3. Наконец, с версией 4 мы переключились с режима eval с неограниченным по времени ограничением функций на полностью функциональный режим eval с 14-дневным ограничением по времени.

4. Патрик — это круто. Конечно, после вашего первоначального ответа выше, я купил V3, и я обновился до V4 в тот день, когда вы выпустили его… 🙂

Ответ №3:

Отличная пара веб-роликов (30-минутные видеоролики), в которых Патрик Смаккья и Филип Экберг рассказывают о некоторых функциях NDepend и о том, как их использовать:

http://codebetter.com/patricksmacchia/2012/10/31/two-screencasts-on-how-to-demystify-spaghetti-code/