﻿# Пояснение про ограничения демонстрационной версии PVS\-Studio

У ограничений имеется две цели\. Первая \- как можно быстрее показать потенциальному пользователю, что статический анализатор может находить ошибки в его коде\. Вторая \- побудить к общению с нами в почте, чтобы помочь использовать инструмент правильно\. Я уверен, что эта взаимосвязь непонятна, поэтому я и решил написать эту маленькую заметку\.

![0395_PVS-Studio_demo_ru/image1.png](https://import.viva64.com/docx/blog/0395_PVS-Studio_demo_ru/image1.png)

## Ограничения

Вначале кратко о существующих ограничениях\. Во\-первых, человек может изучать только предупреждения наибольшего уровня достоверности \(High\)\. Во\-вторых, ему доступно только ограниченное количество переходов к ошибкам\.

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

## Много, не значит полезно

Самый типовой неправильный паттерн: программист сразу выставляет настройки предупреждений на максимум\. Это самая наша большая боль\. Они включают все типы предупреждений \(общие, 64\-битные, оптимизации\), все уровни предупреждений, некоторые даже умудряются добраться в настройках до диагностик, созданных на заказ, и включить их\.

![0395_PVS-Studio_demo_ru/image2.png](https://import.viva64.com/docx/blog/0395_PVS-Studio_demo_ru/image2.png)

Свое поведение программисты объясняют тем, что хотят видеть все возможности анализатора\. Это неправильно\. Правильная цель \- увидеть, что анализатор может быть полезен проекту\. То есть, в первую очередь надо увидеть, что анализатор находит настоящие ошибки в коде\. Включив же всё на максимум, человек тонет в предупреждениях\. Просмотрев 20\-30 неинтересных предупреждений, человек теряет интерес\. Скорее всего, на этом знакомство с инструментом закончится\. Если же мы сокращаем набор предупреждений, который он может просматривать, то велик шанс, что он заметит настоящие ошибки\. Тогда программист будет совсем по\-другому относиться к инструменту\. Он захочет отфильтровать неинтересные предупреждения, настроить анализатор под себя, изучить способы подавления ложных срабатываний в макросах и так далее\.

Есть ещё один момент с большим количеством предупреждений\. Программист может отдавать себе отчет, что смотрит вперемешку как высокоприоритетные, так и низкоприоритетные предупреждения и готов просмотреть большое количество сообщений\. Беда в том, что он быстро теряет внимание\. Грубо говоря, просмотрев 10 неинтересных предупреждений, он с большой вероятностью пропустит и одиннадцатое предупреждение, указывающее на серьезную ошибку\.

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

## Мы спешим на помощь

![0395_PVS-Studio_demo_ru/image3.png](https://import.viva64.com/docx/blog/0395_PVS-Studio_demo_ru/image3.png)

Когда "клики" кончатся, программа предложит заполнить небольшую форму с контактными данными, которые мы используем чтобы поинтересоваться, не можем ли мы чем\-то помочь\. После этого будут выделены дополнительные "клики"\.

В чем смысл контакта с нами? Во\-первых, мы можем выдать временный ключ для более полного изучения PVS\-Studio\. К этому моменту программист уже освоился с PVS\-Studio, нашел ошибки в своём коде, и теперь для него можно открыть и другие уровни предупреждений\.

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

У кого\-то есть "гадкий макрос", на котором анализатор генерирует массу бессмысленных предупреждений\. Человек тратит все "клики", ходя по этим предупреждениям\. После чего на наш вопрос "Всё хорошо?", отвечает в духе:

_Ужасно\. Как таким анализатором вообще пользоваться\. Я замучался проматывать сотни предупреждений с номером Vxxx\._

И мы помогаем ему, рассказывая о [способах](https://pvs-studio.ru/ru/docs/manual/0017/) подавления предупреждений в макросах, или что для начала, он может просто выключить эту диагностику\.

Другой человек жалуется, что мешаются сообщения, относящиеся к сторонним библиотекам\.

Мы [подсказываем](https://pvs-studio.ru/ru/blog/posts/cpp/0305/), что сообщения, относящиеся к библиотекам можно отключить в два клика мышкой\. Действительно, это 2 клика\.

В обоих случаях важно, что мы подсказали, как упростить работу\. Если бы не было общения с нами, люди бы продолжали мучиться и скорее всего, решили даже не начинать обсуждение приобретения лицензии\.

## Я опытный

![0395_PVS-Studio_demo_ru/image4.png](https://import.viva64.com/docx/blog/0395_PVS-Studio_demo_ru/image4.png)

Осталось сказать, что делать людям, которые не считают себя новичками в сфере инструментов статического анализа\. Всё просто\. [Свяжитесь](https://pvs-studio.ru/ru/about-feedback/) с нами, и мы выдадим вам временный ключ для изучения анализатора\.