Подтвердить что ты не робот

Что такое StyleCop, как инструменты для VB.NET

см. также Статический код VB.NET Anaylsis

Для лучшего или худшего теперь у нас есть VB.NET документ стандартов кодирования, основанный на стандарте кодирования С#, как это предусмотрено в StyleCop.

Например

  • количество пробелов, которые вы должны поместить в каждую сторону знака "+" и т.д.
  • все члены экземпляра (поля и методы!) должны иметь доступ как "me.fieldName"
  • Все общие члены должны быть доступны как "className.fieldName"

Как я обычно думаю:

Если в документе требований это должен быть проверен автоматическим Система

Я ищу (в идеале бесплатные) инструменты, которые будут проверять, что не хватает правил для кода VB.NET, поскольку это проблемы стиля, которые не входят в скомпилированный вывод, FxCop не пригодится.

(Я бы лично соответствовал скорее тем, что мы просто проверяем важные вещи, такие как дублированный код и единую разумность для каждого класса (так что не более нескольких тысяч линейных классов!), но поскольку мне нужно придерживаться стандартного документа кодирования, я хочу есть инструмент, который поможет мне сделать это.)

см. также Принудительное использование имени класса при доступе к общему члену.

О щедрости.
Я ищу список инструментов проверки кода VB.NET, с коротким сроком выполнения каждого инструмента и его ограничений. Если инструменты не являются бесплатными, включите в них некоторый идеал стоимости.


Есть ли у кого-нибудь опыт использования CodeRush/Refactor! или ReSharper с VB.NET для проверки этого типа проблем стиля кодирования?

4b9b3361

Ответ 1

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

Лично я предпочитаю механизм создания правил CodeIt.Right, поэтому я бы предпочел, чтобы были запланированы значительные разработки пользовательских правил. Однако, если вы просто хотите использовать правила вне коробки, Code Auditor поставляется с довольно большим количеством правил стиля кода, чем CodeIt.Right, большинство встроенных правил которых нацелены на скомпилированный IL (например, FxCop).

Ответ 2

Единственные, о которых я знаю, это:

Microsoft FxCop

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

Однако самое близкое:

Aivosto Project Analyzer v9.0 для Visual Basic, VB.NET и VBA

Полная версия не является бесплатной, но это самая близкая вещь для StyleCop для VB.NET, которую я могу найти.

Было несколько вызовов для версии Microsoft StyleCop версии VB.NET, например, в этот поток на code.msdn.microsoft.com. Тот же поток также дает хорошее представление о том, почему версия VB.NET не существует.

Ответ 3

Я использую ReSharper на ежедневной основе, и я нахожу это подходящим как для форматирования кода, так и для решения проблем с именами. Он позволяет настроить, как должно выполняться именование, как отображаются проблемы (подсказка, предложение, предупреждение и т.д.) И предоставляет точный форматировщик кода (пробел, паратезис, разрывы строк, этот определитель и т.д.).

Обратите внимание, что я не знаю, может ли он запускаться в пакетном режиме.

Ответ 4

В VB-компилятор уже встроен очень хороший инструмент стиля. Он называется Option Explicit On, помещает его в начало файла исходного кода или использует Tools + Options + Project и Solutions + VB Defaults, Option Explicit = On. Если это не было включено ранее, может возникнуть ошибка при компиляции кода после его изменения.

Если он чист или уже включен, считайте, что вы на 95% близки к написанию чистого кода на С# и что язык больше не имеет значения.

Ответ 5

Turning Option Explicit по умолчанию всегда отличная идея и должна быть стандартной практикой. Я бы сказал, что он должен быть включен по умолчанию в VS из коробки. Но он не близок к тому, чтобы применять правила, установленные для StyleCop для С#, и не позволяет вам создавать свои собственные правила.

Вся причина существования StyleCop заключается в том, что FxCop работает только на скомпилированных сборках, оставляя веб-проекты на холоде для аналогичного инструмента. С помощью StyleCop веб-разработчики получают то же самое превосходное правило и жесткую интеграцию VS. Это отличный инструмент для любого разработчика С#.

К сожалению, это только С#, версия VB будет удовлетворять большому сообществу, которому осталось что-то похожее.