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

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

Ограничения


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

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

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


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

PVS-Studio Face Palm

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

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

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

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


PVS-Studio спешит на помощь

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

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

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

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

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

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

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

Мы подсказываем, что сообщения, относящиеся к библиотекам можно отключить в два клика мышкой. Действительно, это 2 клика.

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

Я опытный


PVS-Studio уничтожает баг

Осталось сказать, что делать людям, которые не считают себя новичками в сфере инструментов статического анализа. Всё просто. Свяжитесь с нами, и мы выдадим вам временный ключ для изучения анализатора.

© Habrahabr.ru