Обратите внимание, что FxCop очень настраивается в отношении правил, которые вы хотите применить. Вы можете найти, что он лучше всего работает, постепенно вводя его; только для определенного набора правил для определенного набора файлов или изначально исключая все устаревшие файлы.
Должны быть правила, которые вы никогда не сможете активировать, потому что они просто не подходят вашему проблемному домену. И помните, что если фрагмент кода «нарушает правило» для определенной цели, есть атрибут для маркировки такого кода как приемлемый, хотя я бы установил правило, что все такие переопределения должны использовать свойство Justification
для атрибута, чтобы указать, почему ,
Наконец, поскольку встроенные правила помогут значительно улучшить качество кода, действительно большие выигрыши должны быть выполнены в пользовательских правилах, которые позволят вам проверить корпоративные соглашения. Если вы не автоматизируете «рецензирование» таким образом, то вы не можете действительно гарантировать соблюдение.
Я использую FxCop как интегрированную часть системы сборки на работе, и наши общие библиотеки в настоящее время выпускаются со всеми правилами, включенными с минимальными переопределениями атрибутов, и это стоило более чем в нескольких местах.
«не так много мест, которые действительно используют FxCop», мне бы хотелось увидеть ссылку на статистику использования, на которой вы основываете это наблюдение? – jerryjvl
Отрицательная Нэнси, расслабьтесь! Нет статистики использования, поэтому мой вопрос. Для меня это хороший ответ, поскольку я ищу опыт и лучшие практики в реальном мире. Это его опыт, и я благодарен, что он ответил на вопрос! – Zaffiro
@jerryjvl: Что касается статистики, у меня есть только собственный опыт. Как раз возвращаясь за последние 3 года (я подрядчик), я проработал около 6 или около того клиентов. Из них только 2 имели других разработчиков, которые беспокоились о том, чтобы прочитать предупреждения, хотя все они были включены. Единственная причина, по которой эти 2 читали предупреждения, было откровенно, потому что я руководил проектами. – NotMe