FxCop analyzers
От: Qbit86 Кипр
Дата: 11.07.19 09:18
Оценка: 16 (2) +1
Write Better Code Faster with Roslyn Analyzers

Статический анализатор FxCop существовал издавна, уже более десяти лет.
Сначала эта была отдельная утлита, которую можно было прогнать на скомпилированных сборках.
Потом её интегрировали в Visual Studio под названием Code Analysis.
Недавно FxCop-правила портировали на Roslyn и распространяют как отдельный NuGet-пакет Microsoft.CodeAnalysis.FxCopAnalyzers.

Соответственно, сейчас это отрабатывает на уровне модели исходного кода, а не скомпилированной сборки, это позволяет реализовать больше инспекций.
Ситуативное подавление правил теперь можно делать не через атрибуты [SuppressMessage] (которые вкомпилируются в сборку и несут небольшой рантайм-оверхед), а на уровне исходного кода через `#pragma warning disable CA****`.
Срабатывание правил происходит по мере редактирование кода, а не на postbuild-этапе; в IDE соответствующие рефакторинги доступны через лампочки.

Roslyn analyzers vs. static code analysis
What's the difference between legacy FxCop and FxCop analyzers?
Глаза у меня добрые, но рубашка — смирительная!
fxcop
Re: Roslyn analyzers в Rider
От: Qbit86 Кипр
Дата: 11.07.19 09:49
Оценка:
Q> Срабатывание правил происходит по мере редактирование кода, а не на postbuild-этапе; в IDE соответствующие рефакторинги доступны через лампочки.

Rider, к слову, тоже понимает NuGet-пакеты этих анализаторов; соответствующие инспекции отображаются с логотипом Roslyn.

Ещё один плюс NuGet-пакетов — ссылка на них более явно энфорсит инспекции, чем требование запуска legacy Code Analysis в IDE. Удобно в open-source-проектах.
Глаза у меня добрые, но рубашка — смирительная!
Re: FxCop analyzers
От: vorona  
Дата: 24.11.19 18:09
Оценка:
Здравствуйте, Qbit86, Вы писали:

Его можно поставить как расширение студии vsix
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.