В отличие от FxCop, который анализирует бинарники (точнее MSIL), StyleCop аналазирует исходники на C#. Анализирует на предмет удобства чтения, документированности, отступов и т.п. Всего около 200 правил, в том числе:
- Layout of elements, statements, expressions, and query clauses
- Placement of curly brackets, parenthesis, square brackets, etc
- Spacing around keywords and operator symbols
- Line spacing
- Placement of method parameters within method declarations or method calls
- Standard ordering of elements within a class
- Formatting of documentation within element headers and file headers
- Naming of elements, fields and variables
- Use of the built-in types
- Use of access modifiers
- Allowed contents of files
- Debugging text
Загрузить StyleCop можно отсюда
Сказать по правде, я не отношусь к поклонникам подобного рода инструментов. FxCop использую от случая к случаю, в основном, когда надо быстро выполнить формальное ревью большого количества незнакомого кода, чтобы оценить его общее качество. А на счет StyleCop, так по мне, это не более чем средство окончательно задолбать разработчиков.
А вы как думаете?
12 комментариев:
Я думаю что эта утилитка задолбает не только разработчиков, но и любого кто ей будет пользоваться.Поставил посмотреть ни чего толкового она не сказала.Тем более если стоит Resharper косяков в коде осыбых и не будет.ИМХО
Согласен с предыдущим. А учитывая, что Re# 4 уже в бете, эта утилитка будет просто способом проверить лояльность к M$, не более :) - пользуешься ей или нет
Мне думается, что StyleCop будет полезен хотя бы тем, что снизит вероятность спора "о стилях". В команде с большой долей молодых девелоперов это может быть, своего рода, обучающим инструментом. А при применении практики коллективного владения кодом пользы от StyleCop будет еще больше.
> to Nikolay Osinin
Единый стиль кодирования в команде должен вырабатываться на основе добровольного консенсуса, а не способом "нагибания" одних другими.
Дугое дело, когда к примеру, разрабатыватеся framework и есть обязательное требование документирования всех публичных членов, потому что по этой документации генерится API reference. Тут такой инструмент может быть полезен.
>>>есть обязательное требование документирования всех публичных членов,
Ну вот конкретно на такой случай даже встроенных возможносстей студии хватает.
Другое дело, конечно, если StyleCop гибко настраивается - тогда можно загнать корпоративный CodingStyle.doc в коп, и мантайнерам жить куда легче.
У них в Basic была практически уникальная фича, код форматировался на лету, как только переходишь на другую строчку.
Вот такую же автоматику надо бы и здесь применить.
И в с#/vb уже есть такая фича - начиная с 2005 студии точно - так что никуда ходить даже не понадобится
to Sergey Rozovik
Так вот StyleCop как раз и позволит поддерживать единый стиль кодирования. Причем сделает это без обид и эмоций.
по-моему могут быть проблемы с тем, как прикрутить его к CI.
Особых проблем с прикручиванием StyleCop к CI быть не должно. В этой статье достаточно подробно описана настройка для MSBuild.
Думаю, что инструмент нормальный, и его стоит использовать, что бы избежать проблем с поддержкой проекта.
Только вот прикрутить его к проекту который разрабатывается уже пару лет практически не возможно.
Надо будет посмотреть, если можно кастомайзить правила то возбмем на вооружение.
А FxCop мне понравился. Спас не один час при подготовке к Code review и позволил привести legacy проект к перевариваемому виду.
Отправить комментарий