﻿# PVS\-Studio: 2 фишки для быстрого старта

В этой заметке расскажу, как легко начать использовать PVS\-Studio\. Рассмотрим два сценария: когда вы пробуете анализатор впервые и когда внедряете его в проект\. 

![1013_2Features_ru/image1.png](https://import.viva64.com/docx/blog/1013_2Features_ru/image1.png)

## Пробуете впервые? Посмотрите лучшие предупреждения

Что я жду, когда запускаю анализ проекта? В первую очередь — найдёт ли анализатор что\-то интересное\. И здесь есть 2 крайности:

1. Анализатор ничего не нашёл\. 
1. Анализатор нашёл очень много\. 

Рассмотрим оба случая\. 

**\#1**\. Все нужные группы диагностик включены, анализ прошёл успешно, а PVS\-Studio всё равно ничего не нашёл? Это хороший сценарий, но стоит помнить — часто разовой проверки недостаточно\. 

Попробуйте регулярно запускать анализ проекта на протяжении какого\-то времени\. Так анализатор сможет найти те проблемы, которые ещё не успела обнаружить и исправить команда\. Это и покажет пользу инструмента\.  

Подробнее мысль раскрыта в небольшой [заметке](https://pvs-studio.ru/ru/blog/posts/0534/), рекомендую прочитать\. 

**\#2**\. Допустим, анализатор выдал несколько десятков, а то и сотен предупреждений\. Вот бы посмотреть самые интересные\.\.\. Решение — фильтр "Best warnings"\. Расскажу о нём в двух словах\.

Среди всех предупреждений фильтр "Best warnings" отбирает самые интересные: они должны быть разнообразными и указывать на тот код, который скорее всего содержит ошибку\. 

Фильтр работает в один клик, а предупреждений в подборке будет не больше 10 — посмотреть их можно быстро\. 

![](https://import.viva64.com/docx/blog/1013_2Features_ru/image2.mp4)

Фильтр "Best warnings" доступен в приложении "C and C\+\+ Compiler Monitoring UI", а также в плагинах PVS\-Studio для:

* Visual Studio;
* Rider;
* CLion;
* IntelliJ IDEA\. 

Больше информации о "Best Warnings" собрали в [документации](https://pvs-studio.ru/ru/docs/manual/6532/)\. 

\*\*

Хочу сразу ответить на несколько возможных вопросов:

* "Best warnings" — не новая фишка: она доступна с релиза PVS\-Studio 7\.15\. Что нового в версии 7\.22?
* Предупреждения из списка "Best warnings" не впечатлили\. Что не так?

Ответы под спойлерами\. 

<details>
   <summary>Best warnings: что нового в PVS\\\-Studio 7\\\.22?</summary>

1. Увеличили количество мест, где можно использовать фильтр\. Теперь это не только Visual Studio, но и JetBrains Rider, CLion, IntelliJ IDEA, а также C and C\+\+ Compiler Monitoring UI\. 
1. Изменили интерфейс: кнопка фильтрации располагается на главной панели\. Если нужно, её можно скрыть через настройки\. 
1. Скорректировали "веса" для диагностик: выборка предупреждений должна стать лучше\. 


</details>


<details>
   <summary>Лучшие предупреждения не впечатлили</summary>

Алгоритм неидеален\. Пожалуйста, [напишите нам](https://pvs-studio.ru/ru/about-feedback/), если подборка предупреждений не понравилась или в неё попали false positives\. Мы подумаем, как можно улучшить выборку\. 



Если подборка не понравилась, посмотрите предупреждения с уровнем "High" и "Medium" из полного отчёта анализатора: возможно, там вы найдёте что\-то интересное\. 


</details>


## Внедряете в проект? Скройте предупреждения на legacy\-код

Я решил внедрить PVS\-Studio в процесс разработки\. Проект старый, с большим объёмом legacy\. Запустил анализатор и получил несколько сотен предупреждений\. Как быть? Как найти и исправить новое предупреждение, когда их количество изменится с 673 на 674? Ответ — скрыть предупреждения на legacy\-код\. 

![](https://import.viva64.com/docx/blog/1013_2Features_ru/image4.mp4)

Алгоритм:

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

Скрыть предупреждения на legacy\-код можно с помощью [механизма подавления](https://pvs-studio.ru/ru/docs/manual/0032/)\. 

## Итоги

Как упростить знакомство с PVS\-Studio:

* если пробуете впервые, посмотрите на самые интересные предупреждения\. Поможет фильтр "Best warnings" \([документация](https://pvs-studio.ru/ru/docs/manual/6532/)\);
* если внедряете в процесс разработки, скройте все предупреждения на legacy\-код\. Поможет механизм подавления \([документация](https://pvs-studio.ru/ru/docs/manual/0032/)\)\. 

Ещё рекомендую полистать [эту статью](https://pvs-studio.ru/ru/blog/posts/0975/)\. В ней разобраны многие вопросы, касающиеся начала использования анализатора\. 

Загрузить последнюю версию PVS\-Studio можно [здесь](https://pvs-studio.ru/ru/pvs-studio/try-free/)\.