Анализ качества кода Visual Basic и C# в приложениях для Магазина Windows с помощью функций анализа кода Visual Studio
Средство анализа кода в Microsoft Visual Studio Express 2012 для Windows 8 анализирует код с целью найти общие дефекты и нарушения рекомендаций программирования. Предупреждения, возникающие в ходе анализа кода, отличаются от ошибок и предупреждений компилятора, потому что средство анализа кода выполняет поиск конкретных шаблонов кода, которые являются допустимыми, но, тем не менее, могут вызвать проблемы при использовании кода вами или другими специалистами. Анализ кода позволяет находить дефекты в коде, которые невозможно обнаружить в процессе тестирования. Регулярный запуск средства анализа кода в процессе разработки позволяет создать приложение более высокого качества.
Примечание
В Visual Studio Ultimate 2012, Visual Studio Premium 2012 и Visual Studio Professional 2012 можно пользоваться всеми функциональными возможностями анализа кода. См. статью Анализ качества приложений с помощью средств анализа кода в библиотеке MSDN.
Содержание раздела
Рассматриваются следующие вопросы:
Анализ и разрешение предупреждений анализа кода
Подавление предупреждений анализа кода
Поиск и фильтрация результатов анализа кода
Предупреждения анализа кода Visual Basic и C#
Запуск анализа кода
Чтобы запустить анализ кода для решения Visual Studio, выполните следующие действия:
- В меню Построение выберите Выполнить анализ кода в решении.
Чтобы анализ кода автоматически запускался при каждом построении проекта, выполните следующие действия:
В обозревателе решений щелкните правой кнопкой мыши имя проекта и выберите Свойства.
На странице свойств проекта выберите Анализ кода и установите флажок Включить анализ кода в построении (определяет константу CODEANALYSIS).
Решение компилируется, и запускается анализ кода. Результаты выводятся в окне "Анализ кода".
Анализ и разрешение предупреждений анализа кода
Чтобы проанализировать конкретное предупреждение, щелкните заголовок предупреждения в окне "Анализ кода". Предупреждение разворачивается, позволяя просмотреть подробные сведения о проблеме.
При разворачивании предупреждения строка кода, которая вызвала предупреждение, выделяется в редакторе кода Visual Studio.
Поняв, в чем заключается проблема, можно разрешить ее в коде. После этого необходимо снова запустить анализ кода, чтобы убедиться, что предупреждение больше не отображается в окне "Анализ кода", и что исправление не привело к появлению новых предупреждений.
Совет
Повторно запустить анализ кода можно из окна "Анализ кода". Нажмите кнопку Анализировать и выберите область анализа. Можно повторно запустить анализ для всего решения или для выбранного проекта.
Подавление предупреждений анализа кода
В некоторых случаях разработчик может принять решение не разрешать предупреждение анализа кода. Возможно, разрешение предупреждения требует слишком значительного переписывания кода в сравнении с вероятностью того, что проблема проявит себя в какой-либо реальной его реализации. Или, например, разработчик может посчитать, что используемая в предупреждении логика анализа не соответствует данному контексту. Можно подавить отдельные предупреждения, чтобы они больше не отображались в окне "Анализа кода".
Чтобы подавить предупреждение, выполните следующие действия.
Если подробные сведения не отображаются, щелкните заголовок предупреждения, чтобы развернуть его.
Выберите ссылку Действия внизу предупреждения.
Выберите Подавить сообщение и щелкните В исходном или В файле блокируемых предупреждений.
При выборе варианта В исходном атрибут SuppressMessage вставляется в файл исходного кода над методом, который создает предупреждение. Это облегчает поиск подавления.
При выборе варианта В файле блокируемых предупреждений атрибут SuppressMessage добавляется в файл GlobalSuppressions.cs проекта. Это упрощает управление подавлениями. Обратите внимание, что атрибут SuppressMessage, добавленный в файл GlobalSuppression.cs, также направлен на метод, который создает предупреждение. Он не подавляет предупреждение глобально.
Решение, где подавлять предупреждение — в файле исходного кода или в файле блокируемых предупреждений — зависит от стиля написания кода и потребностей разработчика.
Поиск и фильтрация результатов анализа кода
Можно выполнять поиск в длинных списках предупреждений, а также фильтровать предупреждения в решениях, состоящих из нескольких проектов.
В Visual Studio Express 2012 для Windows 8 все предупреждения анализа кода имеют степень серьезности "Предупреждение".
Предупреждения анализа кода Visual Basic и C#
Анализ кода вызывает следующие предупреждения:
CA1001: Types that own disposable fields should be disposable
CA1821: Remove empty finalizers
CA2213: Disposable fields should be disposed
CA2229: Implement serialization constructors
CA2231: Overload operator equals on overriding ValueType.Equals