Какие инструменты статического анализа доступны для C#? [закрытый]

Если ваш PHP-скрипт работает под Windows, вы можете использовать

glob("\\\\remoteServer\\public\\FolderA\\B\\*.*")

, потому что, поскольку hherger сказал, что «каталог / файлы, подлежащие проверке, должны быть доступны через файловую систему сервера». и Windows разрешает доступ к другим ПК с использованием UNC-пути. Поскольку Windows использует обратную косую черту вместо косой черты, а в PHP обратная косая черта - это escape-символ, каждому обратному косую черту должна предшествовать обратная косая черта. В проводнике Windows (aka File Explorer) указанный выше UNC-путь будет

\\remoteServer\public\FolderA\B\*.*
174
задан Kris Erickson 15 October 2008 в 21:52
поделиться

8 ответов

Инструменты обнаружения Нарушения регулярной кодовой последовательности:

  • Fxcop, превосходный инструмент Microsoft. Проверьте соответствие .net инструкциям по платформе.

    октябрь 2010 Редактирования: Больше доступный как автономная загрузка. Это теперь включено в Windows SDK и после того, как установка сможет быть найдена в феврале 2018 Редактирования Files\Microsoft SDKs\Windows\[v7.1] \Bin\FXCop\FxCopSetup.exe

    Программы : Эта функциональность была теперь интегрирована в Visual Studio 2012 и позже как Анализ кода

  • Clocksharp, на основе исходного анализа кода (к C# 2.0)
  • Моно. Жандарм , подобный Fxcop, но с лицензией с открытым исходным кодом (на основе Моно. Cecil)
  • Smokey, подобный Fxcop и Gendarme, на основе Моно. Cecil. Больше на разработке, основной разработчик работает с командой Жандарма теперь.
  • Coverity Preventв „ў для C#, коммерческий продукт
  • PRQA QAВ · C#, коммерческий продукт
  • PVS-Studio, коммерческий продукт
  • CAT.NET , дополнение Visual Studio, которое помогает идентификации дефектов безопасности
  • CodeIt. Право
  • инструменты Spec#
  • Pex

Метрики качества:

  • NDepend, большой визуальный инструмент. Полезный для метрик кода, правил, разности, связи и исследований зависимости.
  • Nitriq, свободный, может легко записать Ваши собственные метрики/ограничения, хорошую визуализацию. февраль 2018 Редактирования: ссылки на загрузку, теперь мертвые. Редактирование 17 июня 2019: Ссылки, не мертвые.
  • RSM Придал квадратную форму , на основе исходного анализа кода
  • Метрики C# , с помощью полного синтаксического анализа C#
  • SourceMonitor, старый инструмент, который иногда получает обновления
  • Метрики Кода , Отражатель дополнение
  • Vil, старый инструмент, который не поддерживает.NET 2.0. январь 2018 Редактирования: Ссылка, теперь мертвая

Инструменты Стиля Проверки:

  • StyleCop, инструмент Microsoft (выполненный изнутри Visual Studio или интегрированный в проект MSBuild). Также доступный как расширение для Visual Studio 2015 и Agent Smith C#6.0
  • , плагин проверки стиля кода для [1 133] обнаружение ReSharper

Дублирования:

  • Человекообразная обезьяна , на основе исходного кода. Работы с большим количеством языков.
  • CloneDR, обнаруживает параметризованные клоны только на границах языка (также обрабатывает много языков кроме C#)
  • Детектив Клона плагин Visual Studio. (Это использует ConQAT внутренне)
  • Atomiq, на основе исходного кода, большого количества языков, прохладная визуализация "колеса"

инструменты General Refactoring

  • , ReSharper - Чрезвычайно охлаждает анализ кода C# и функции рефакторинга
338
ответ дан 22 revs, 13 users 50% 4 November 2019 в 16:11
поделиться

Инструмент NDepend заключается в кавычки как [1 123] Инструменты Метрики качества , но это в значительной степени также обнаружение Нарушения регулярной кодовой последовательности инструмент. Правовая оговорка: Я - один из разработчиков инструмента

С NDepend, можно записать Правило Кода по Запросам LINQ (что мы называем CQLinq) . [Больше чем 112] 200 правил кода CQLinq предложены по умолчанию. Сила CQLinq состоит в том, что это просто, чтобы записать правило кода и добраться сразу результаты. Средства предложены для просмотра подобранных элементов кода. Например:

CQLinq code rule

, Около которого, NDepend идет со многими другими статический анализ как [1 112] функции. Они включают:

7
ответ дан Patrick from NDepend team 4 November 2019 в 16:11
поделиться
  • Жандарм является открытым исходным кодом, управляет базирующийся статический анализатор (подобный FXCop, но находит много различных проблем).
  • Детектив Клона является хорошим плагином для Visual Studio, которая находит дублирующий код.
  • Также разговор о Моно, я нахожу действие компиляции с Моно компилятором (если Ваш код достаточно независим от платформы, чтобы сделать это, цель, за которую Вы могли бы хотеть бороться так или иначе) находит тонны неиспользуемых переменных и других Предупреждений, что Visual Studio полностью отсутствует (даже с набором уровня предупреждения к 4).
1
ответ дан Kris Erickson 4 November 2019 в 16:11
поделиться

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

-1
ответ дан Tom Carter 4 November 2019 в 16:11
поделиться

Помимо превосходного списка от madgnome, я бы добавил детектор дублирующегося кода, основанный на командной строке (но бесплатный):

http: //sourceforge.net/projects/duplo/

0
ответ дан 23 November 2019 в 20:31
поделиться

Вы видели CAT.NET ?

Из рекламного объявления -

CAT.NET - это инструмент для анализа двоичного кода что помогает выявить распространенные варианты определенные преобладающие уязвимости что может вызвать обычную атаку векторы, такие как межсайтовый скриптинг (XSS), внедрение SQL и XPath Инъекция.

Я использовал раннюю бета-версию, и мне показалось, что в ней есть кое-что, на что стоит обратить внимание.

1
ответ дан 23 November 2019 в 20:31
поделиться

Axivion Bauhaus Suite - это инструмент статического анализа, который работает с C # (а также с C, C ++ и Java).

Он предоставляет следующие возможности:

  • Архитектура программного обеспечения Визуализация (включая зависимости)
  • Обеспечение соблюдения архитектурных правил, например, разбиение на уровни, подсистем, правила вызова
  • Обнаружение клонов - выделение копии и вставки (и измененного кода)
  • Обнаружение мертвого кода
  • Обнаружение цикла
  • Метрики программного обеспечения
  • Проверки стиля кода

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

-1
ответ дан 23 November 2019 в 20:31
поделиться

Klocwork имеет инструмент статического анализа для C #: http : //www.klocwork.com

-1
ответ дан 23 November 2019 в 20:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: