Для получения триального ключа
заполните форму ниже
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Бесплатная лицензия PVS-Studio для специалистов Microsoft MVP
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Мне интересно попробовать плагин на:
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте папку
Spam/Junk и нажмите на письме кнопку "Не спам".
Так Вы не пропустите ответы от нашей команды.

>
>
Стоит ли исправлять все ошибки, найденн…

Стоит ли исправлять все ошибки, найденные статическим анализатором кода?

05 Апр 2013

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

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

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

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

Вторым аспектом проблемы является то, что любой статический анализатор кода всегда выдает, помимо полезных сообщений, еще множество так называемых "ложно-позитивных срабатываний".

Различные статические анализаторы по-разному подходят к данной проблеме. Часть анализаторов игнорирует те подозрительные места в коде, где вероятность наличия ошибки далека от 100%. Но в большинстве статических анализаторов используют противоположный подход, то есть анализатор генерирует гораздо большее количество "ложных" срабатываний, однако и риск потери реальных проблемных сообщений об ошибках значительно меньше.

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

Библиографический список

Популярные статьи по теме
Единороги компании PVS-Studio

Дата: 30 Авг 2022

Автор: Андрей Карпов

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

Дата: 26 Май 2022

Автор: Андрей Карпов

Анализатор PVS-Studio умеет "схлопывать" повторяющиеся предупреждения. Предоставляет возможность задать baseline, что позволяет легко внедрять статический анализ в legacy-проекты. Стоит ли предостави…
15000 ошибок в открытых проектах

Дата: 24 Май 2022

Автор: Андрей Карпов

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

Дата: 04 Май 2022

Автор: Сергей Хренов

Приветствую всех программистов, а также сочувствующих. Кто из нас хотя бы раз в жизни не оставлял комментарии в коде? Был ли это ваш код, а может, чужой? Что за комментарии вы написали: полезные или …
Visual Studio 2022 стильно и свежо. История о её поддержке в PVS-Studio

Дата: 15 Фев 2022

Автор: Николай Миронов

Кажется, анонс Visual Studio 2022 был только недавно, и вот она уже вышла. Это означало ровно одно – поддержать данную IDE нужно в ближайшем релизе PVS-Studio. О том, с какими сложностями пришлось ст…

Комментарии (0)

Следующие комментарии
Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно. Хотите узнать подробнее?
Принять