Анализ кода Visual Studio - Microsoft следит за этим самостоятельно? - PullRequest
3 голосов
/ 15 мая 2010

Сделал быстрый поиск, но ничего не смог найти по этому поводу.

Полагаю, все вы знаете, что Visual Studio Code Analysis весьма придирчив и предупреждает о многих вещах. Кто-нибудь знает, насколько хорошо Microsoft следит за этим самим? То есть, если бы я выполнял анализ кода на их сборках, предупреждений было бы не много или очень мало (возможно, предупреждение о превышении с обоснованием ..?).

Ответы [ 2 ]

6 голосов
/ 15 мая 2010

Большинство вещей, которые проверяет анализ кода (или FXCop), тесно связаны с «Руководством по проектированию библиотеки .NET Framework» (либо книга , либо MSDN ).

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

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

4 голосов
/ 16 июля 2010

В Microsoft для анализа кода широко используются два основных инструмента: FXCop для управляемого кода и PreFast для нативного C ++.

Исторически сложилось так, что, хотя не каждая команда тщательно внедрила использование CA при создании своих продуктов, за последние 3-4 года произошел существенный рост, особенно в том, что касается количества команд, которые в настоящее время применяют довольно строгие требования CA к своим функциям. команды и о продукте в целом.

Например, в Vista команда Windows, по сути, взяла 3 месяца на разработку продукта и SAL аннотировала подавляющее большинство своих ключевых методов и объявлений функций. в Win7 они предписывали, чтобы весь новый код соответствовал ряду требований для ключевых сценариев, аннотирующих SAL (в первую очередь для уменьшения вероятности переполнения буфера). В Win8 они идут еще дальше и включают новые аннотации SAL для ряда ключевых сценариев. В сочетании с улучшенными компиляторами и инструментами, такими как PreFast (теперь они встроены в VS 2010 Pro и более поздние версии), они и вы можете найти и устранить потенциальные проблемы до выпуска продукта.

Обратите внимание, что выдача предупреждений CA (какой бы инструмент CA вы не выбрали) всегда будет требовать переопределения - иногда есть действительно веская причина, почему код должен делать то, что он делает. Но вы должны переопределить только если вы абсолютно уверены, что это необходимо и уместно. НИКОГДА не отключайте предупреждение, потому что вы его не понимаете, и никогда не отключайте предупреждение, если вас не затруднит исправить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...