Какие инструменты в стиле StyleCop есть для VB.NET - PullRequest
25 голосов
/ 25 января 2010

см. Также Статический код VB.NET Аналисис

К счастью или к худшему, у нас теперь есть документ по стандартам кодирования VB.NET , который основан на стандарте кодирования C # в соответствии с требованиями StyleCop.

Например

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

Как я склонен думать:

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

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

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

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

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


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

Ответы [ 5 ]

10 голосов
/ 28 января 2010

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

  1. submain CodeIt.Right
  2. SSW Code Auditor

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

6 голосов
/ 25 января 2010

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

Microsoft FxCop

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

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

Анализатор проектов Aivosto v9.0 для Visual Basic, VB.NET и VBA

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

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

1 голос
/ 04 февраля 2010

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

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

0 голосов
/ 24 сентября 2010

Включение опции «Явный» по умолчанию всегда хорошая идея и должно быть стандартной практикой. Я бы сказал, что он должен быть включен по умолчанию в VS из коробки. Но это не приближается к обеспечению соблюдения готовых правил, которые StyleCop делает для C #, и не позволяет вам создавать свои собственные правила.

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

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

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

В компилятор VB уже встроен очень хороший инструмент стиля. Он называется Option Explicit On, поместите его в начало файла исходного кода или используйте Сервис + Параметры + Проект и Решения + VB По умолчанию, Option Explicit = On. Если он не был включен ранее, может возникнуть множество ошибок при компиляции кода после его изменения.

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

...