Наверное, основная ситуация всем знакома. Вы согласовали определенные стандарты кодирования в своей команде, и теперь пришло время убедиться, что все следуют им.
Некоторые делают это с помощью тяжелого парного программирования, другие поддерживают список стандартов кодирования и проводят ручной обзор. Другие даже используют инструмент статического анализа кода из Visual Studio, чтобы обеспечить соблюдение стандартов кодирования.
Каковы ваши лучшие практики для обеспечения стандартов кодирования? Какие инструменты вы используете - есть ли какие-то важные инструменты, которые должен знать каждый разработчик? Как вы интегрируете стандартизацию своего кода в инструменты разработки?
источник
Во-первых, убедитесь, что у вас есть правильный сервер сборки, который непрерывно собирает ваш код. TFS или Jenkins / Hudson + Msbuild - хорошие варианты. На этом сервере сборки вы, конечно, запускаете тесты, а также можете выполнять статический анализ кода и проверку синтаксиса.
Я рекомендую использовать FxCop или Gendarme для статического анализа кода. Оба могут быть использованы рядом.
Один важный ключ к успеху: не размещайте их с огромным набором правил и ожидайте, что он будет работать хорошо. У вас будут миллионы предупреждений, и никто не будет заботиться.
Эмпирические правила:
Всегда имейте ноль предупреждений. Если необходимо, сначала уменьшите набор проверок, затем добавьте несколько новых проверок для каждого спринта и исправьте их. Убедитесь, что каждая выполненная проверка имеет для вас реальную ценность и соответствует вашим стандартам.
Если у вас есть определенные для домена правила, которых вы должны придерживаться, не бойтесь применять свои собственные правила.
Для проверки синтаксиса используйте StyleCop или StyleCop для Resharper, если вы используете Resharper (что я также настоятельно рекомендую).
источник
StyleCop и FxCop - мои легковесные инструменты, которые напоминают стили кода моим разработчикам. Решарпер тоже хорош, но делает VS очень медленным.
Я рекомендую FxCop из-за его богатой библиотеки правил, с отличной документацией, классификациями, примерами и многими другими функциями.
Также доступно расширение StyleCop Fixer для visual studio, которое помогает исправлять обычные ошибки.
На метрики кода также иногда влияют стили кода. С помощью этого инструмента вы можете отслеживать ремонтопригодность кодов.
источник
Я хотел бы подчеркнуть, что сначала должен работать уже упомянутый автоматический анализ кода (FxCop, StyleCopy, сборки CI и т. Д.), А не ручные обзоры. Автоматические проверки обнаружат гораздо больше вещей, чем ручная проверка, и, как правило, гораздо более строгие, последовательные и самодокументируемые. Ручные обзоры могут быть полезны для более высокого уровня проектных решений и т. Д., Но по моему опыту они могут быть очень субъективными и случайными.
источник
NDepend можно использовать для реализации различных стандартов кодирования в .NET Code Base. Он имеет около 200 правил кода по умолчанию, которые можно просмотреть здесь . Также легко настроить существующие правила или создать свои собственные правила, поскольку с помощью NDepend правило является просто запросом C # LINQ .
Отказ от ответственности: я работаю на NDepend
источник