PVS-Studio: поиск ошибок в С/С++, С# и Java
1.78K subscribers
1.5K photos
70 videos
2 files
1.47K links
Статический анализатор на страже качества, защищённости (SAST) и безопасности кода.

Сайт: https://pvs-studio.ru/ru/
Download Telegram
🚀 Рассказываем про новые диагностики

С++ разработчики, у нас отличные новости — в релизе 7.34 появилось новое диагностическое правило V1116.

Оно предназначено для обнаружения ситуаций, когда исключения создаются без поясняющих сообщений. Рассмотрим пример:
void DoSomething(const char *val)
{
if (!val) throw std::runtime_error { "" };
}

void Function()
{
const char *val = ....;
try
{
DoSomething(val);
}
catch (std::runtime_error &err)
{
std::cerr << err.what() << std::endl;
}
}


В функции DoSomething в случае возникновения ошибки бросается исключение с пустым сообщением, которое затем попадёт в std::cerr. Написав такой код, разработчик словно оставил коллегам послание: "Счастливой отладки". Это усложнит для них понимание того, что именно вызвало сбой.

Ситуацию можно исправить следующим образом:
if (!val)
{
throw std::runtime_error
{
"[DoSomething]: "
"the 'val' pointer was nullptr."
};
}

Теперь вы получите сообщение, которое объясняет, что именно пошло не так.

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

#cpp #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
PVS-Studio: поиск ошибок в С/С++, С# и Java
#Задача_PVS #programming #cpp
Ответ на задачу: суть в том, что потеряли инструкцию return или присвоение переменной boundingRect.
Please open Telegram to view this post
VIEW IN TELEGRAM
11
🎉21 января — День, когда выпустили Java 1.0.

💻День, когда компьютеры стали говорить "Hello, world!" на новом языке. Всё благодаря компании Sun Microsystems, которая в 1996 году выпустила первую официальную версию Java.

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

#праздник #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉7
Новый разбор проекта на очереди!

Jellyfin — это бесплатный медиасервер с открытым исходным кодом, является альтернативой Emby и Plex. В этой статье мы рассмотрим диагностику, у которой было больше всего срабатываний в коде Jellyfin.

Переходите по ссылке 🔗

#csharp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Media is too big
VIEW IN TELEGRAM
Вы так много делаете вместе с нами: изучаете термины, читаете статьи, следите за выходом новых диагностик, решаете задачки и др. 😊

Пришло время нам познакомиться еще ближе и представить вам нашу команду и офис!

#team
14👍5🔥4
PVS-Studio: поиск ошибок в С/С++, С# и Java
#Задача_PVS #programming #java
Ответ на задачу: При написании этого кода не было учтено, что вызов метода concat не изменит строку host ввиду неизменяемости объектов типа String. Для корректной работы метода необходимо присвоить результат метода concat переменной host в блоке if.
Please open Telegram to view this post
VIEW IN TELEGRAM
👻3
Вы хотите идти в ногу со временем и перевести ваш проект на полиморфные аллокаторы? Вас не могут отговорить от этого даже затраты на виртуальные вызовы? Тогда вы просто обязаны знать о нюансах с лайфтаймом, и почему нельзя просто взять и поменять свои контейнеры на аналоги из пространства имён pmr.

Все подробности по ссылке 🔗

#статья #cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🎁Праздники закончились, а подарки нет!

Друзья, кто-то из вас видел эту книгу, кто-то о ней слышал, а у кого-то она даже есть. Настало время заиметь ее всем!

Перейдя по этой ссылке, вы найдете знаменитую книгу Андрея Карпова – "Вредные советы для С++ программистов". Это сборник "советов", которым на самом деле не стоит следовать.

Приятного чтения! Ждем ваших отзывов! 😉

#cpp #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6🤩3🤓1
Прошло две недели с последнего термина, а это значит, что пора проверить, получится ли у вас угадать термин, который загадан выше?

#термин
👨‍💻1
🚀За окном январь 2025 года, а это значит, пора подвести итоги за 2024 год!

В этой статье вы узнаете, чем занималась команда PVS-Studio в прошлом году: новые плагины, интеграции, фичи и многое другое!

Переходите по ссылке 🔗

#статья #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Время от времени мы слышим – «Хочу использовать в своей команде PVS-Studio. Начальник против. Как его убедить?».

Сегодня мы поможем вам разобраться в этом вопросе и разберем одни из основных тезисов ваших начальников :)

А если вы не нашли ответа на нужный вопрос, то переходите по ссылке 🔗

#PVS_Studio
🔥4👍3