﻿# О внедрении PVS\-Studio у наших клиентов

Иногда наши потенциальные клиенты интересуются примерами успешных внедрений PVS\-Studio в различных компаниях\. Этот интерес понятен\. После Case Study от Microsoft в стиле "команда Формулы\-1 McLaren начала использовать новый SQL Server и у нее настолько улучшились результаты\.\.\." хочется действительно увидеть пользу от того или иного инструмента\.

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

Во\-первых, дело в способе продажи продукта\. Мы продаем свое решение через интернет, и не всегда покупку осуществляет конечный пользователь\. Например, какая\-нибудь крупная компания \(типа Intel\) покупает лицензию через какого\-нибудь реселлера \(например, SHI\)\. Все это происходит без участия людей с нашей стороны\. И хотя мы видим, что купила такая\-то компания для такого\-то клиента, то, скорее всего, имеющийся контакт клиента – это всего лишь отдел закупок\. Повторюсь, с конечным пользователем иногда даже не удается пообщаться\.

Во\-вторых, юридический аспект очень часто не позволяет сотрудникам компании\-клиента раскрывать публично, к примеру, организацию инфраструктуры разработки: сколько и каких систем сборки используется, какие системы управления, сколько разработчиков всего участвуют в процессе и т\.п\. Если Microsoft может "продавить" согласование всех этих данных с руководством McLaren, то для небольших организаций это довольно трудно\.

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

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

Прежде всего, мы всегда дорабатываем анализатор, если какие\-то фрагменты кода не обрабатываются им полностью\. Может показаться, что это недостаток инструмента – поддержка языка не на 100%, однако на практике ни один анализатор не может похвастаться поддержкой всех типов шаблонов или синтаксиса C\+\+0x, да и даже в компиляторах бывают ошибки\. Мы всегда оперативно и качественно можем исправить ошибки, связанные с неполным разбором кода\.

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

Удобная интеграция анализатора кода в процесс разработки – залог удовлетворения от его использования\. По просьбам клиентов были реализованы следующие возможности:

* запуск инструмента из командной строки для автоматического вызова из систем непрерывной интеграции;
* проверка не всех файлов проекта/решения, а только некоторых \(по именам или по времени модификации – к примеру за последний день\);
* исключение из анализа файлов и папок по маске;
* фильтры диагностических сообщений \(по коду ошибки, по тексту сообщений\);
* многое другое\.

В заключение стоит сказать, что мы всегда и быстро помогаем пользователям с любыми проблемами, так как пока являемся небольшой компанией :\-\)\.