А вот и новый термин! В этот раз рассматриваем термин из DevOps – непрерывную интеграцию или Continuous Integration. А о том, как анализатор PVS-Studio встраивается в CI можно прочитать в соответствующем разделе нашей документации по ссылке 😉
👌2
Первая статья в новом году! В ней вспомним все подкасты прошлого года, в которых мы принимали участие.
Наши спикеры рассказали о бизнесе, статическом анализе, становлении компании и многом другом. Переходите по ссылке и слушайте! 😉
#статья #подкаст
Наши спикеры рассказали о бизнесе, статическом анализе, становлении компании и многом другом. Переходите по ссылке и слушайте! 😉
#статья #подкаст
Хабр
От стартапов до кода с душком: о чём говорят эксперты PVS-Studio
В прошлом году мы активно принимали участие не только в конференциях, но и в записях подкастов. Здесь собраны наши последние подкасты за 2023 и 2024 год. Приятного прослушивания! Судьба стартапа...
🔥3
PVS-Studio: поиск ошибок в С/С++, С# и Java
#Задача_PVS #programming #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
10 января — День рождения Дональда Эрвина Кнута
Дональд Кнут — математик, учёный, автор монографии "Искусство компьютерного программирования".
Какие еще интересные факты вы знаете об этом человеке? Пишите в комментариях 😉
#праздник
Дональд Кнут — математик, учёный, автор монографии "Искусство компьютерного программирования".
Какие еще интересные факты вы знаете об этом человеке? Пишите в комментариях 😉
#праздник
👍5
В новым релизе PVS-Studio — 7.34, команда C# анализатора сфокусировалась на улучшении Unity направления, но и про диагностики общего назначения не забывает. Сегодня разберем одну из таких – V3207.
В новой диагностике анализатор выявляет некорректное использование паттерна 'not A or B', связанного с путаницей в порядке операций.
Рассмотрим пример кода:
private void ShowWordDetails(string key)
{
if (key is not "" or null)
{
PanelReferenceBox.Controls.Clear();
CurrentWord = Words.Find(x => x.Name == key);
....
}
}
В начале метода присутствует проверка входного параметра 'key' на пустую строку или 'null'.
Но в логике условного выражения была допущена ошибка. Все дело в том, что приоритет оператора 'not' выше, чем у оператора 'or'. Вследствие этого отрицание не применяется к правой части выражения и если 'key' будет иметь значение 'null' – условие будет 'true'.
Вы еще не забыли про Unity? А мы все равно напомним! В этом релизе появилось сразу 4 новых Untiy-специфичных диагностических правила: V3208, V3209, V3210, V4007.
Но на этом мы не закончили улучшение анализа Unity проектов, ждите еще больше новых диагностик!
#csharp #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
PVS-Studio: поиск ошибок в С/С++, С# и Java
#Задача_PVS #programming #cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳1
PVS-Studio: поиск ошибок в С/С++, С# и Java
#Задача_PVS #programming #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
В новом видео поговорим про критические ошибки 🐞
Более подробно можно послушать в этом докладе 👈🏻
#видео
Более подробно можно послушать в этом докладе 👈🏻
#видео
🔥7🥰1
PVS-Studio: поиск ошибок в С/С++, С# и Java
#Задача_PVS #programming #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов!
Переходите по ссылке
#csharp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
С++ разработчики, у нас отличные новости — в релизе 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1✍1
🎉21 января — День, когда выпустили Java 1.0.
💻 День, когда компьютеры стали говорить "Hello, world!" на новом языке. Всё благодаря компании Sun Microsystems, которая в 1996 году выпустила первую официальную версию Java.
PVS-Studio поддерживает анализ Java, и наша команда регулярно пишет статьи о багах, найденных в открытых проектах на этом языке. Подписывайтесь на дайджест статей, чтобы ничего не пропустить!
#праздник #java
PVS-Studio поддерживает анализ Java, и наша команда регулярно пишет статьи о багах, найденных в открытых проектах на этом языке. Подписывайтесь на дайджест статей, чтобы ничего не пропустить!
#праздник #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉7
Новый разбор проекта на очереди!
Jellyfin — это бесплатный медиасервер с открытым исходным кодом, является альтернативой Emby и Plex. В этой статье мы рассмотрим диагностику, у которой было больше всего срабатываний в коде Jellyfin.
Переходите по ссылке🔗
#csharp #статья
Jellyfin — это бесплатный медиасервер с открытым исходным кодом, является альтернативой Emby и Plex. В этой статье мы рассмотрим диагностику, у которой было больше всего срабатываний в коде Jellyfin.
Переходите по ссылке
#csharp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
PVS-Studio
Ода одной диагностике и ещё парочке, или проверка Jellyfin
Jellyfin — это бесплатный медиасервер с открытым исходным кодом, является альтернативой Emby и Plex. В этой статье мы рассмотрим диагностику, у которой было больше всего срабатываний в коде Jellyfin...
👍2