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

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

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

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

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

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

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


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

>
>
C#, PVS-Studio, ReSharper

C#, PVS-Studio, ReSharper

03 Фев 2016

Нам постоянно задают вопрос: "Есть ли смысл использовать анализатор кода PVS-Studio, если уже используется ReSharper?". Подразумевается, что ответом должна стать статья, где будут приведено сравнение возможностей этих инструментов в выявлении ошибок в программах. Мы знаем, что это тупиковый путь, и такая статья ничего не даст. Однако вопрос задаётся столь часто, что на него все-таки надо иметь ответ. Ответ - да, смысл есть. Сразу предупреждаю, что в статье вы не найдете ожидаемого сравнения. Но если вы потратите всего 10 минут, чтобы полностью прочитать эту статью, то мы уверены вы согласитесь с нашим ответом и видением ситуации.

0373_resharper_ru/image1.png

PVS-Studio - статический анализатор кода, выявляющий ошибки в коде программ на языке C, C++. Недавно анализатор освоил новое для себя поприще - C#. Исторически сложилось, что среди вспомогательных инструментов для C# царствует ReSharper. Этот инструмент относится к категории productivity tool и не является в классическом понимании статическим анализатором кода. Однако ReSharper умеет выполняет множество различных проверок и раскрашивает подозрительные участки кода. Поэтому у программистов неизбежно возникает вопрос: "есть ли смысл смотреть в сторону PVS-Studio, если уже есть ReSharper?".

Ответ: Да! Мы уверены в этом ответе. Но вот обосновать это простой табличкой сравнения возможностей не получится. Сделать такую табличку не проблема. Но мы зареклись делать подробные сравнения. Как показывает жизнь, написание таких сравнений, скорее портит нам карму, а не улучшает её.

Например, у нас был опыт сравнения PVS-Studio с Cppcheck и Visual Studio SCA. Было потрачено много времени и сил. Результаты были представлены в кратком и подробном варианте. После чего только ленивый не написал, что мы всё сделали неправильно или, что наше сравнение является нечестным благодаря специально выбранным проектам для проверки.

Мы не видим более смысла тратить время на подобные сравнения. Как бы тщательно и честно мы не подошли к нему, всегда можно будет сказать, что сравнение было предвзято.

Тем не менее что-то нам нужно отвечать человеку, который спрашивает про ReSharper. Мы можем предложить отличный вариант сравнения:

Вы уже используете ReSharper? Отлично! Теперь установите PVS-Studio и найдите в своём проекте ошибки!

Это будет лучшей демонстрацией пользы от использования PVS-Studio. Кстати, здесь нет никакого противопоставления. Инструменты могут отлично дополнять друг друга.

Читатель скажет - хорошо, новый инструмент не повредит. Но сможете ли вы попасть на рынок C# инструментов? Здесь уже всё давно занято и поделено. Нужен ли кому-то PVS-Studio для C#? Для начала ответ такой:

0373_resharper_ru/image2.png

Рисунок. "Верная смерть. Никаких шансов на успех. Так чего же мы ждём?!" (en).

На самом деле, мы уже сталкивались с вопросом, "нужен ли анализатор PVS-Studio?". Этот вопрос звучал, когда анализатор PVS-Studio был молод и ему только предстояло завоевать популярность среди С++ программистов. Казалось бессмысленным появление ещё одного инструмента, ведь уже существовали:

  • Компиляторы, реализующие в себе функциональность статических анализаторов. Например, некоторые редакции Visual Studio содержат статический анализатор C++ кода. А ещё, например, есть Clang.
  • Существуют бесплатные анализаторы кода, такие как Cppcheck.
  • Есть мощные платные инструменты: Coverity, Klocwork и так далее.

Так зачем нужен "PVS-Studio для C++?". И нам нечего было ответить на этот вопрос. Нечего на него ответить и сейчас. Но этот вопрос больше не имеет никакого значения. Мы с легкостью можем продемонстрировать ту пользу, которую приносит анализатор PVS-Studio.

Больше нет разницы, есть какие-то другие инструменты или нет. Мы нашли тысячи ошибок в программах, чему есть документальное подтверждение. Мы нашли эти ошибки, не смотря на существование других инструментов. Сколько угодно можно говорить про конкурентные преимущества. Но нам это не интересно. Вот вам 9355 ошибок, найденных в таких проектах как Chromium, Qt, LibreOffice, TortoiseSVN, Unreal Engine 4 и так далее.

Более того, теперь мы можем давать ссылки, когда кто-то хочет сравнения с конкретным инструментом.

  • Например, кто-то хочет узнать, чем мы лучше Clang. Отлично. Всё очень просто. Мы находили ошибки в Clang: ссылка 1, ссылка 2.
  • Кто-то хочет знать, есть ли смысл использовать анализатор PVS-Studio, или можно ограничиться анализатором, реализованным в Visual Studio. Конечно смысл есть. Не зря же мы находим ошибки в библиотеках Visual Studio: 2012, 2013.
  • Стоит ли покупать PVS-Studio, если есть бесплатный Cppcheck. Конечно. На эту тему есть статья-сравнение, которое все поругали. Поэтому можно и по-другому: ссылка.
  • Кто-то уверен, что Coverity/Klocwork достаточно на все случаи жизни. Бесспорно, это мощные и крайне полезные инструменты. Но и PVS-Studio не лыком шит, раз может находить то, что не видят эти инструменты: ссылка 1, ссылка 2.

С C# анализатором мы только в начале этого пути. Пока мы можем скромно заявлять:

  • Мы находили ошибки в проекте Roslyn.
  • Да и вообще, мы находим ошибки в проектах компании Microsoft, которая славится высоким качеством исходного кода. Найти хоть что-то, это уже большое достижение. Примеры: CoreFX, Microsoft Code Contracts

Подождите немного, и вопрос сравнения отпадёт. Хотя нет, не ждите. Анализатор уже можно и нужно использовать. Пусть он молод, и мы пока реализовали только малую часть диагностик из запланированного. Но он прямо сейчас может начать приносить пользу. Попробуйте режим автоматической проверки после компиляции. Надеемся, вам понравится. А если что-то не так - пишите, мы очень активно работаем с отзывами и пожеланиями.

Итоги. Не зависимо от того, используете вы ReSharper или нет, мы предлагаем скачать и попробовать анализатор PVS-Studio. Если он найдет ошибки в вашем проекте, это будет лучшее доказательство его пользы. Только не забывайте, что единичные проверки не имеют смысла. Анализаторы кода приносят пользу только при регулярном использовании. Неэффективно искать опечатки и ошибки, отлаживая код, если это может сделать за вас анализатор. Конечно, он не способен найти все ошибки, но сможет сэкономить вам массу времени на более полезные дела, чем на поиск опечатки в условии.

Последние статьи:

Опрос:

Популярные статьи по теме
Как Apple и другие крупные компании настиг программный баг

Дата: 09 Ноя 2022

Автор: Ульяна Гришина

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

Дата: 30 Авг 2022

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

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

Дата: 26 Май 2022

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

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

Дата: 24 Май 2022

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

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

Дата: 04 Май 2022

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

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

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

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