Как стать автором
Обновить
329.26
PVS-Studio
Статический анализ кода для C, C++, C# и Java
Сначала показывать

Топ-10 докладов на С++ конференциях 2019-2022 года

Время на прочтение3 мин
Количество просмотров9.3K

В мире проходит множество интересных конференций по программированию. К сожалению, у нас нет телепорта, чтобы посещать каждую из них и слушать все интересующие нас доклады. Но зато мы можем посмотреть их на YouTube!

Читать далее
Всего голосов 21: ↑19 и ↓2+17
Комментарии3

Есть ли жизнь без RTTI: пишем свой dynamic_cast

Время на прочтение14 мин
Количество просмотров8.1K

В современном С++ осталось не так много вещей, которые не подходят под парадигму "Не плати за то, что не используешь". Одна из них – dynamic_cast. В рамках данной статьи мы разберёмся, что с ним не так, а когда поймём – попробуем предложить альтернативу.

Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии34

Планируете взяться за .NET MAUI? Будьте готовы к приключениям с NullReferenceException

Время на прочтение3 мин
Количество просмотров8.3K

.NET Multi-platform App UI – фреймворк, который пишут профессионалы. Тем не менее, код некоторых его функций выглядит так, будто разработчики забыли о последствиях разыменования нулевых ссылок.

Читать далее
Всего голосов 26: ↑24 и ↓2+22
Комментарии29

Особенности реализации List в C#

Время на прочтение7 мин
Количество просмотров37K

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

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии14

Разбор ошибок в игровом движке Stride

Время на прочтение8 мин
Количество просмотров3.2K

Stride – это мощный, бесплатный и активно развивающийся игровой движок, реализованный на C#. Он вполне может стать альтернативой Unity, но насколько качественный исходный код Stride? Узнаем это с помощью статического анализатора PVS-Studio.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Интервью с Джейсоном Тернером, одним из ведущих подкаста «CppCast»: история и причины закрытия проекта

Время на прочтение6 мин
Количество просмотров2.2K

В этой статье мы поговорим с Джейсоном Тернером, одним из основателей CppCast. CppCast – это первый С++ подкаст, основанный С++ разработчиками. Начиная с 2015 года каждую неделю на CppCast выходили подкасты с участием различных гостей, среди которых были и спикеры С++ конференций, и авторы библиотек, писатели, члены комитета ISO, и многие другие. В этой статье мы расскажем историю CppCast и почему ведущие решили закрыть проект в 2022 году. Мы расскажем об одном из самых занимательных и полезных каналов на YouTube о программировании и поделимся с вами советами по С++.

Читать далее
Всего голосов 15: ↑12 и ↓3+9
Комментарии0

Боремся с 16-летним легаси-кодом, или исправляем C и C++ front-end в PVS-Studio

Время на прочтение8 мин
Количество просмотров3.3K

В 2022 году статическому анализатору PVS-Studio для языков C и C++ исполняется 16 лет. Если бы анализатор был человеком, то он бы уже заканчивал школу. Это очень старый проект, и система типов в нем не потерпела кардинальных изменений практически с самого начала. В этой статье мы посмотрим, как работал анализатор всё это время и расскажем, что было не так, и как мы начали это исправлять.

Читать далее
Всего голосов 28: ↑24 и ↓4+20
Комментарии0

Сортировки в C#: OrderBy.OrderBy или OrderBy.ThenBy? Разбираемся, что эффективнее и почему

Время на прочтение15 мин
Количество просмотров12K

Предположим, есть задача: нужно отсортировать коллекцию по нескольким ключам. В C# это можно сделать с помощью вызовов OrderBy().OrderBy() или OrderBy().ThenBy(). Но в чём разница между этими вызовами? Чтобы ответить на этот вопрос, придётся покопаться в исходниках.


0991_OrderBy_ThenBy_ru/image1.png


Статья состоит из трёх основных разделов:


  • Предыстория. Для тех, кто любит затравки. История о том, откуда вообще возникла идея провести исследование и изучить, в чём разница между OrderBy().OrderBy() и OrderBy().ThenBy().
  • Сравнение эффективности. Изучаем отличия типов сортировок с точки зрения производительности и потребления памяти.
  • Отличия в поведении. Погружаемся в исходники .NET и разбираемся, из-за чего возникают отличия в эффективности работы рассматриваемых способов сортировки.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии12

Проверка JavaScript-движка Rhino, или как встретились единорог с носорогом

Время на прочтение22 мин
Количество просмотров2.5K

Имеется большое разнообразие языков программирования, но больше всего наши пользователи хотят, чтобы анализатор PVS-Studio поддержал один из самых популярных языков – Javascript. Одним из проектов, который можно использовать для написания статического анализатора JavaScript, является движок Rhino. В данной статье мы проведём анализ исходного кода Rhino при помощи PVS-Studio.

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии10

ML.NET: можно ли доверять машинному обучению Microsoft?

Время на прочтение10 мин
Количество просмотров3.4K

В 2018 году Microsoft разработали ML.NET – фреймворк машинного обучения для .NET разработчиков. За прошедшее время эта библиотека претерпела существенные изменения и обзавелась новыми функциями для выявления закономерностей в данных. Посмотрим, как это отразилось на качестве её исходного кода.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

Чем опасны уязвимые зависимости в проекте и как с этим помогает SCA?

Время на прочтение3 мин
Количество просмотров1.7K

Современные приложения почти всегда используют сторонние библиотеки. Если библиотека содержит уязвимость, то уязвимым может оказаться и использующее её приложение. Но как определить наличие таких проблемных зависимостей?

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

Соберёмся? Вторая проверка проекта MSBuild

Время на прочтение11 мин
Количество просмотров2.1K

MSBuild – популярная сборочная платформа с открытым исходным кодом от Microsoft, которую используют разработчики по всему миру. В далёком 2016 году мы уже проверяли проект при помощи PVS-Studio и нашли несколько подозрительных мест. Давайте посмотрим, что удалось обнаружить в коде MSBuild при повторной проверке.

Читать далее
Всего голосов 12: ↑9 и ↓3+6
Комментарии0

Как фидбек помог улучшить наш C++ квиз

Время на прочтение3 мин
Количество просмотров2K

Ранее в нашем блоге мы рассказывали о квизе для C++ разработчиков. С момента запуска мы тщательно собирали обратную связь. Часть из неё касалась ошибок в работе квиза, которые мы естественно решили исправить.


0985_fix_the_quiz_ru/image1.png

Читать дальше →
Всего голосов 9: ↑5 и ↓4+1
Комментарии10

Триквел по Orchard Core. Повторная проверка при помощи PVS-Studio

Время на прочтение10 мин
Количество просмотров1.2K

В этой статье мы исследуем проект Orchard Core c помощью статического анализатора PVS-Studio и узнаём, так ли привлекателен код платформы, как сайты, созданные на её основе. Итак, пусть поток статического анализа несёт нас вперёд!

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

С PATH_MAX не всё так просто

Время на прочтение7 мин
Количество просмотров5.2K

PATH_MAX


C и C++ программисты в какой-то момент могут столкнуться с ограниченным размером PATH_MAX и задаться вопросом – какого размера создавать буфер, чтобы отследить путь к директориям или файлам?

Читать дальше →
Всего голосов 21: ↑14 и ↓7+7
Комментарии39

PVS-Studio 7.20: Unreal Engine, SAST, SCA

Время на прочтение3 мин
Количество просмотров1.4K

0980_Release_7_20_ru/image1.png


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

Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Сказ о том, как в PVS-Studio бага обновляли

Время на прочтение3 мин
Количество просмотров2.9K

Помимо полюбившегося многим маскота – единорога — в PVS-Studio есть второстепенный персонаж, он же антагонист нашего продукта, баг. Однако баг не есть вездесущее, нерушимое зло, а, скорее, случай бытовой или даже рабочий. В данной статье рассказано о том, как рисовался новый персонаж, почему именно божья коровка и откуда у неё, чёрт подери, пупок.

Читать далее
Всего голосов 29: ↑27 и ↓2+25
Комментарии17

Анализ потока данных PVS-Studio распутывает всё больше связанных переменных

Время на прочтение11 мин
Количество просмотров1.4K

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

Читать далее
Всего голосов 11: ↑8 и ↓3+5
Комментарии7

Личные границы при трудоустройстве и в офисе

Время на прочтение6 мин
Количество просмотров5.3K

Границы есть в любых отношениях — и в семейных, и в дружеских, и в деловых. Но в каждом случае они разные. Если в семье принято целовать друг друга в щёчку при встрече, то такие жесты на работе воспримут странно. Очень важно понимать и знать свои границы. Это поможет предотвратить выгорание, избежать конфликтов и недопониманий между коллегами. Так как же огородить себя от недобросовестного работодателя и некомпетентного рекрутера? Как выстроить личные границы с коллегами? Это мы с вами сейчас и узнаем.

Читать далее
Всего голосов 24: ↑14 и ↓10+4
Комментарии30

Зачем разработчикам Discord.NET нужен статический анализатор?

Время на прочтение8 мин
Количество просмотров3.8K

Discord.NET – библиотека, написанная на C#, которая используется для взаимодействия с Discord API. Сможет ли PVS-Studio помочь её разработчикам? Узнаете в статье!

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Информация

Сайт
pvs-studio.com
Дата регистрации
Дата основания
2008
Численность
31–50 человек
Местоположение
Россия