Какие-нибудь инструменты статического анализа кода для C # 4.0 еще? - PullRequest
2 голосов
/ 05 января 2010

Довольно простой вопрос: мне нравятся такие инструменты, как FxCop , когда дело доходит до сканирования сборок, чтобы лучше понять мой код, и я хотел бы начать делать это на сборках C # 4.0. Есть ли что-нибудь еще, или я должен сидеть еще несколько месяцев, пока он выпущен и инструменты обновлены?

Ответы [ 4 ]

3 голосов
/ 05 января 2010
3 голосов
/ 05 января 2010

Бета-версия VS2010 включает в себя более новую версию Code Analysis, которая запускает FxCop в процессе сборки и отображает вывод в виде предупреждений. См. Вкладку «Анализ кода» свойств проекта.

Однако он доступен только в версиях Premium и Ultimate. (См. сравнение )

Мне бы очень хотелось, чтобы Microsoft включила его в Express Editions и включила его по умолчанию для всех проектов; это может существенно улучшить код для начинающих.

1 голос
/ 19 октября 2010

Инструмент NDepend поддерживает C # 4, и даже сейчас C # 5. Он интегрируется в Visual Studio 2012, 2010 и 2008. Отказ от ответственности: я один из разработчиков инструмента

Этот инструмент предлагает множество возможностей для сканирования сборок, чтобы лучше понять мой код , например График зависимостей , Матрица зависимостей , Метрики кода , Возможности Code Diff ...

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

Легко написать свои собственные или настроить существующие. Запросы CQLinq компилируются и выполняются мгновенно, а их результаты представлены в виде удобного для просмотра , см. Скриншот ниже: enter image description here

0 голосов
/ 01 февраля 2010

SD C # Clone Doctor статически анализирует исходный код C # (да, даже версии 4.0) на предмет дублирования.

CloneDR может применяться к крупномасштабным программным системам и, как правило, находит дублированный код на 10-20%.

По ссылке приведен пример отчета о клонировании.

...