Date | Title | Description |
31.10.2024 | Игровое поле экспериментов: какие ошибки могут подстерегать программиста при создании эмулятора | Создание эмулятора для игр Xbox 360 на ПК — задача не из простых, и на каждом шагу можно столкнуться с коварными багами. Сегодня рассмотрим типичные проблемы, которые можно обнаружить при разработке, на примере проекта Xenia.Введение
Не так... |
29.10.2024 | The Art of Finding Errors: A Deep Dive into Static Code Analysis | In the world of software development, errors are like hidden landmines. They lurk beneath the surface, waiting to explode at the worst possible moment. Static code analysis is the flashlight that illuminates these dangers. It helps develope... |
29.10.2024 | Использование статических анализаторов кода при разработке безопасного ПО | Как часто анализировать проект? Сколько анализаторов использовать? Как размечать полученные предупреждения? Отвечаем на эти и другие вопросы, разбираясь в подробностях свежего ГОСТ Р 71207-2024, посвящённого статическому анализу.
В 2016 год... |
28.10.2024 | Самая красивая ошибка, которую я нашёл с помощью PVS-Studio в 2024 году | Сразу предупреждаю, мои вкусы очень специфичны. Красота ошибки в том, что человеку её очень сложно найти. Я не верю, что её можно заметить при обзоре кода. Если только заранее знать, что она есть, и искать её целенаправленно.
Ошибку я нашёл... |
25.10.2024 | Поймай уязвимость своими руками: пользовательские аннотации C# кода | Думаю, для многих не секрет, что уязвимости в проекте могут оказать на него крайне негативное влияние. Существует ряд способов по борьбе с уязвимостями, начиная с ручного поиска и заканчивая использованием специализированных инструментов. О... |
23.10.2024 | The Art of Refactoring: A Path to Clean Code | In the world of software development, code is like a garden. It needs regular care and attention to flourish. Refactoring is the gardener's tool, a way to prune and shape the code, making it cleaner and more efficient. This article explores... |
22.10.2024 | Обзор нововведений в C# 13 | Совсем скоро выйдет новая версия языка C#, а мы продолжаем серию ежегодного обзора нововведений. Изменений в этом году больше, чем в прошлом, что радует. Есть как важные изменения, так и весьма узкоспециализированные. Давайте посмотрим на н... |
17.10.2024 | Unraveling the Mysteries of Apache Kafka: A Deep Dive into Code and Streams | Apache Kafka stands as a titan in the realm of data streaming. It’s a powerful tool, a data pipeline that connects systems, processes, and applications. But beneath its sleek surface lies a labyrinth of code, potential pitfalls, and hidden ... |
17.10.2024 | Что нового в Unity 6? Обзор нововведений и ошибок в исходном коде | Наконец, состоялся релиз Unity 6! Разработчики называют эту версию самой стабильной версией за всё время существования движка. Почему бы нам не убедиться в этом с помощью статического анализатора кода? А заодно проведём краткий обзор основн... |
16.10.2024 | Скажем нет «Превращению», или анализ Kafka | Бывало ли вам интересно, какие баги может таить исходный код проектов, которыми пользуются большие компании по всему миру? Не упустите шанс познакомиться с интересными ошибками, которые нашёл статический анализатор PVS-Studio в исходном код... |
15.10.2024 | PVS-Studio 7.33: критические ошибки, пользовательские аннотации в C#, поддержка SN-DBS и многое другое | Вышел новый релиз PVS-Studio — 7.33. Поддержка SN-DBS, добавление пользовательских аннотаций в C# анализатор, новые вебинары, подкасты и много других хороших новостей! Больше подробностей в этой заметке.
Загрузить актуальную версию PVS-Stud... |
14.10.2024 | Исходный код на прощание: разбор ошибок в проектах закрывшейся инди-студии | Инди-студия StarlightLabsCo закрылась, а разработчик и её основатель Харрис Ротаермель опубликовал исходный код своих проектов. Теперь желающие могут улучшать эти проекты или разрабатывать на их основе новые. Мы решили не оставаться в сторо... |
09.10.2024 | PPSSPP или всё же psp? Смотрим баги в коде из будущего | Думаю, многих из нас охватывает тёплое чувство ностальгии, когда речь идёт о PSP. Эта портативная консоль, выпущенная в 2004 году, стала настоящим прорывом для своего времени. Она подарила нам возможность наслаждаться полноценными игровыми ... |
05.10.2024 | SafeCode: A New Dawn for AppSec Conferences | In the vast landscape of tech conferences, finding the right niche can feel like searching for a needle in a haystack. For developers focused on security, the options have often been too broad or too hardware-centric. Enter SafeCode, a conf... |
05.10.2024 | SafeCode – конференция, которой мне не хватало | Помню 100500 лет назад (ну ладно, всего 12), я писал на Хабре, что мне не хватает в России хардкорной C++ конференции. Затем появилась C++Russia. Навизуализировал.
Пару лет назад я начал грустить, что нет подходящей конференции на тему безо... |
30.09.2024 | Анализ кода WolvenKit: что нужно знать перед созданием модов для Cyberpunk 2077 | Все мы любим игры, но есть люди, которые любят в них не только играть, но ещё и создавать различные модификации для них. Сегодня посмотрим на WolvenKit — один из инструментов для создания модов для Cyberpunk 2077.Введение
Я думаю, что больш... |
21.09.2024 | The Balance of Clean Code and Performance: A Modern Dilemma | In the world of software development, the debate over clean code versus performance is as old as the industry itself. It’s a tug-of-war between two powerful forces. On one side, we have clean code, the ideal of clarity and maintainability. ... |
20.09.2024 | Чистый код — дар или проклятие? Акт II. Компромисс | Что важнее — производительность или гибкость кода? Стоит ли отказаться от философии чистого кода ради перфоманса? Отвечаем на эти и многие другие вопросы вместе с командой разработчиков PVS-Studio.
Является ли сегодня чистый код вредным для... |
18.09.2024 | Изучаем карты с исходным кодом GeoServer | Точные и подробные карты невероятно выручают туристов, будь это планирование путешествия или попытка не потеряться в незнакомом месте. Помочь в обслуживании таких данных на серверной стороне может GeoServer. Посмотрим же, что таится внутри ... |
17.09.2024 | ГОСТ Р 71207–2024 глазами разработчика статических анализаторов кода | 1 апреля 2024 года введён в действие новый ГОСТ "Статический анализ программного обеспечения". Если в ГОСТ Р 56939–2016 говорится о необходимости использования статического анализа при разработке безопасного программного обеспечен... |
10.09.2024 | Рефакторим легаси при помощи ООП | Спустя годы проекты обрастают тёмными местами, в которые никто не хочет соваться, поскольку их сложно понять и легко сломать. Сегодня мы посмотрим на кейс рефакторинга такого кода с переводом на ООП рельсы при помощи паттернов, причём со ст... |
07.09.2024 | The Evolution of .NET: A Deep Dive into the Latest Developments | The world of software development is ever-changing. In this landscape, .NET stands as a robust framework, evolving to meet the demands of modern applications. As we step into 2024, Microsoft has unveiled significant updates that promise to ... |
04.09.2024 | .NET Digest #3 | Добро пожаловать на третий выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!
Мы стараемся совершенствоваться, так что буд... |
27.08.2024 | Чистый код — дар или проклятие? Акт I. Конфронтация | Многие знакомы с концепцией чистого кода. Одни программисты поддерживают её, другие же считают, что она вредит индустрии. Кейси Муратори, относясь ко второй группе, заявил, что чистый код на самом деле является вредным советом для программи... |
21.08.2024 | The Rise of OpenSilver: Breathing New Life into Silverlight Applications | In the world of software development, change is the only constant. As technologies evolve, older frameworks often fade into obscurity. However, the recent emergence of OpenSilver is a testament to the resilience of innovation. This open-sou... |
16.08.2024 | PVS-Studio 7.32: оптимизация анализа, новые плагины и многое другое | Вышел новый релиз PVS-Studio — 7.32. Оптимизация анализа на C++, новые плагины и функциональность, и ещё много других обновлений! Больше подробностей в этой заметке.
Загрузить актуальную версию PVS-Studio можно здесь.
Оптимизация анализа ин... |
14.08.2024 | Как сделать анализатор кода за два дня | Статический анализ — это очень мощный инструмент, позволяющий следить за качеством кода. Предлагаю вместе попробовать написать простой Lua анализатор на Java, чтобы понять, как устроены статические анализаторы кода внутри.Небольшое предисло... |
13.08.2024 | The Art of Session Recording: Unlocking Website Conversion Potential | In the digital landscape, every click tells a story. Session recording tools are the magnifying glasses that help us read those stories. They capture user interactions on websites, revealing the hidden pathways that lead to conversions—or t... |
13.08.2024 | Flax Engine. Знакомство с игровым движком и анализ его исходного кода | "Как будто у Unreal и Unity родился ребёнок" — такое трогательное описание дали этому движку в GameDev-сообществе. Эта фраза не только мило звучит, но и точно передаёт его суть, ведь движок действительно задумывался как нечто сред... |
12.08.2024 | Дайте два! Обновление плагина PVS-Studio для SonarQube | Плагин PVS-Studio для SonarQube работает уже долгое время, однако в последнем обновлении плагин превратился в два плагина. В этой заметке расскажем о том, почему это произошло, что изменилось, и как с этим жить.
SonarQube — это открытая пла... |
09.08.2024 | Даже математики ошибаются | Мы знаем, что математика — наука точная. Значит ли это, что GeoGebra — программное обеспечение для интерактивного изучения математики — столь же точно? Проанализируем же исходный код проекта с помощью PVS-Studio!Введение
Помните изучение пр... |
07.08.2024 | Как найти работу для фиксиков: анализируем Godot Engine | Разработка игр и их прохождение могут быть невероятно увлекательными и затягивающими занятиями, приносящими огромное удовольствие. Но ничто так не портит впечатление от игрового процесса, как коварно спрятавшийся баг. Поэтому сегодня под на... |
03.08.2024 | The Evolution of .NET: A Deep Dive into Recent Developments | The world of .NET is ever-changing, a river that flows with new features, updates, and innovations. In this landscape, developers are like explorers, navigating through the currents of technology. The latest updates, particularly with .NET ... |
03.08.2024 | The Rise of HTAP Systems: Bridging the Gap Between Transactional and Analytical Processing | In the ever-evolving landscape of IT systems, the demand for efficient data processing is growing. Businesses are no longer satisfied with merely storing historical data or processing transactions in real-time. They seek solutions that can ... |
02.08.2024 | .NET Digest #2 | Добро пожаловать на второй выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! Первый выпуск вам понравился, так что C# команда PVS-Studio снова собрала для вас самые интересные и полезные материалы. Поехали!
Мы стараемся... |
31.07.2024 | Поисковый запрос на баги в Apache Solr | И вновь мы проверяем продукт Apache. На этот раз выбор пал на Solr — платформу поискового сервера с открытым исходным кодом. Благодаря Solr можно эффективно и быстро искать информацию в базах данных и на интернет-ресурсах. При решении такой... |
27.07.2024 | The Power of Metrics: Safeguarding Your .NET Applications with OpenTelemetry and Prometheus | In the fast-paced world of software development, every second counts. When an application goes live, the stakes are high. Bugs can lurk in the shadows, waiting to pounce. But fear not; there are tools that can shine a light on these hidden ... |
26.07.2024 | Дебажим баги в дебаггере x64dbg. Без дебаггера | Ни один процесс разработки программы не проходит без отладки. Современные IDE обеспечивают программиста встроенным отладчиком. Однако бывают ситуации, когда использование IDE для отладки избыточно или невозможно, и тогда на помощь приходят ... |
18.07.2024 | И целых 20 ядер мало | Если вы посмотрите на общую раздутость современного софта, загружаемые 100 гигабайтные игры, ежегодную Nvidia X090 дающую +20% год от года, и 20-ядерные процессоры, то со стороны может показаться, что оптимизация производительности неважно ... |
12.07.2024 | Неожиданности в авторизации. Что скрывает Keycloak? | Авторизация и регистрация пользователей — важная часть приложения как для юзеров, так и для безопасности. Но какие неожиданности содержит исходный код популярного Open Source решения для авторизации, и как они могут повлиять на работу прило... |
08.07.2024 | Насекомое 13 лет сидит в вашем компиляторе и не собирается оттуда вылезать | Представим, что у вас идеальный проект. Таски пилятся, компилятор компилирует, статические анализаторы анализируют, релизы релизятся. В какой‑то момент вы принимаете волевое решение открыть древний файл, в который никто не залезал уже много... |
05.07.2024 | .NET Digest #1 | Добро пожаловать на первый выпуск нашего дайджеста, посвященного новостям и событиям в мире .NET! Команда C# разработчиков из PVS-Studio собрала для вас самые интересные и полезные материалы, чтобы держать вас в курсе последних тенденций и ... |
03.07.2024 | Тотемные утки и шаманские бубны: есть ли у разработчиков свои ритуалы и приметы? | Баги, баги, баги... Как же их много... Немудрено и фобию заиметь. И ведь никогда не знаешь, чем обернётся очередная ошибка в коде. Страх перед неизвестным, желание держать всё под контролем — закономерные спутники магического мышления. Но п... |
28.06.2024 | Подборка докладов по С# 2023-2024 | Недавно мы публиковали подборку докладов по C++, но не будем же мы обделять и C# разработчиков. Поэтому предлагаем вашему вниманию интересные доклады из мира .NET и C#.Введение
Ежегодно организовываются конференции по многим языкам программ... |
26.06.2024 | 12 мгновений опечаток и копипаста, или почему сбоит AI: проверяем код OpenVINO | "OpenVINO — набор инструментов, позволяющий проводить глубокое обучение AI для взаимодействия с реальным миром теперь Open Source!" — эта новость для нас прозвучала как призыв к действию. Код проекта проверен, ошибки найдены, и пе... |
21.06.2024 | Побитовые проверки в Java и почему они так неоднозначны | Операторы "&" и "|" не вызывают вопросов, когда применяются в подходящих ситуациях. Но знаете ли вы о всех последствиях использования побитовых операторов вместо логических в Java? В этой статье мы рассмотрим как плю... |
20.06.2024 | Технологии под летним небом Москвы — на GigaConf от Сбера | 27 июня в Москве на Дизайн-заводе пройдёт большая технологическая конференция GigaConf 2024. В ней примут участие ведущие разработчики из Сбера, Билайна, Positive Technologies, Т-Банка, МТС и других компаний российского бигтеха. Приходите и... |
18.06.2024 | PVS-Studio 7.31: новые возможности C++ анализатора, расширение функционала пользовательских аннотаций | Вышел новый релиз PVS-Studio — 7.31. Доработка пользовательских аннотаций, расширение режима анализа отдельных файлов, новые вебинары и ещё много других новостей! Больше подробностей в этой заметке.
Загрузить актуальную версию PVS-Studio мо... |
17.06.2024 | Как шаблонный метод может сломать ваш Java код | ООП — это замечательно. За несоблюдение этой парадигмы принято ругать, а знание паттернов зачастую является обязательным. Но даже правильный подход не страхует полностью от ошибок. О том, как сломать программу при помощи обычного шаблонного... |
11.06.2024 | Сколько UB в моём компиляторе? | У C и C++ программистов две головные боли в плане ошибок: утечки памяти и неопределённое поведение. И как вы догадались из названия, речь пойдёт о неопределённом поведении. И каком-то "моём" компиляторе. Если точнее, то о наборе к... |
05.06.2024 | Ловушки volatile, DCL и синхронизации в Java | А что если окажется, что простые знания на самом деле более нюансированные, а старые знакомые, такие как Double-checked locking, являются неоднозначными? Именно на такие мысли наталкивает изучение кода реальных проектов. Результаты этого ис... |
30.05.2024 | Объявляю ошибку вида if (x = 42) вымирающей и заношу её в Красную книгу C и C++ багов | Если спросить программиста, какие баги чаще всего можно встретить в C и C++ коде, он назовёт разыменование нулевого указателя, неопределённое поведение, выход за границу массива и другие, на его взгляд, типовые паттерны ошибок. Скорее всего... |
29.05.2024 | Какие ошибки есть в коде LLVM? | LLVM — open-source проект с огромной кодовой базой. Лучший из лучших, если говорить о качестве кода, учитывая его размеры и открытость. Ведь кому, как не разработчикам инструментов для компиляторов, лучше знать о возможностях языка и правил... |
23.05.2024 | С++: освобождение ресурсов в деструкторах с использованием вспомогательных функций | В этой статье мы рассмотрим, как правильно разрушать объекты в ООП программе на языке C++, не выполняя избыточных операций. Этим мы завершим цикл публикаций, посвящённый обзору ошибок в игровом движке qdEngine.
Неудачная реализация очистки ... |
22.05.2024 | Garnet. Хранит ли баги кэш-хранилище от Microsoft? | Microsoft представили Garnet — проект кроссплатформенного быстрого кэш-хранилища с открытым исходным кодом, написанный на языке C#. Предлагаю расчехлить статический анализатор и посмотреть, какие ошибки и странности содержатся в исходном ко... |
16.05.2024 | Проверка игрового движка qdEngine, часть третья: дополнительная десятка багов | В первой статье про qdEngine было рассмотрено 10 ошибок, выбранных плагином PVS-Studio. Однако есть ещё 10 багов, заслуживающих внимания. Как говорится, лучше учиться на чужих ошибках. Заодно они хорошо демонстрируют возможности PVS-Studio ... |
14.05.2024 | 11 мгновений ReactOS: user mode становится лучше? | ReactOS — это проект, где победу над регрессией, появление новой фичи или её рабочего прототипа празднуют так громко, что FOSS-сообществу приходится отвлекаться от переписывания всего на Rust и полемик о systemd. В последний раз мы проверял... |
07.05.2024 | Проверка игрового движка qdEngine, часть вторая: упрощение C++ кода | В этой статье мы рассмотрим, как статический анализатор PVS-Studio воодушевляет заняться рефакторингом кода. Ведь чем короче, проще и понятнее код, тем меньше в нём ошибок.
В предыдущей статье "Проверка игрового движка qdEngine, часть ... |
02.05.2024 | Подборка крутых докладов по С++ за 2023 год | Скоро начинается новый сезон конференций, а потому предлагаем вам ознакомиться с лучшими докладами по С++ с прошлого сезона. Эта подборка самых громких докладов за 2023 год поможет вам поглубже узнать С++ и набраться вдохновения. Вперёд за ... |
27.04.2024 | Проверка игрового движка qdEngine, часть первая: топ 10 предупреждений PVS-Studio | Баги, которые удалось найти в движке qdEngine, оказались весьма разнообразны, поэтому не хочется мешать всё в кучу в одной публикации. Читатели могут упустить интересные темы, связанные с написанием качественного кода. Поэтому разбор проект... |
25.04.2024 | Кошмар нефалема. Исследуем ошибки в коде эмулятора сервера Diablo 3 | Преследуя Диабло, нефалем попадает в очередную западню Белиала. Погруженный в смертельный кошмар владыкой обмана, герой должен повторить былые победы над воплощениями зла, чтобы пробудиться. Однако в этот раз из-за необъяснимых искажений ре... |
19.04.2024 | 21 ошибка в 21-й версии Apache NetBeans | Apache NetBeans — одна из первых IDE для Java, поддержка которой не прекращается на протяжении почти 30 лет. Совсем недавно вышла 21-я версия. Мы решили проверить исходный код такого долгожителя и выбрали наиболее интересные ошибки, которые... |
17.04.2024 | PVS-Studio 7.30: улучшение работы с Unreal Engine, новые возможности C++ анализатора и многое другое | Вышел новый релиз PVS-Studio — 7.30. Были добавлены пользовательские аннотации, появились новые возможности, различные улучшения работы PVS-Studio с Unreal Engine, и ещё много других изменений! Больше подробностей в этой заметке.
Загрузить ... |
16.04.2024 | Статический анализатор подталкивает писать чистый код | Статические анализаторы помогают не только обнаруживать ошибки и дефекты безопасности, но и делать код чище. Выявляя лишние проверки, дублирующие действия и другие аномалии, можно сделать код проще, красивее и легче для чтения. Разберём это... |
16.04.2024 | 35+ бесплатных ресурсов для начинающих разработчиков С++ | Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.
Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на кур... |
12.04.2024 | Баги, которые наделали немало шума | Реальный "баг", баг в коде или невнимательность — всё это может повлиять на ваш проект и привести к самым разным последствиям. В этой статье собран ряд масштабных и интересных багов. Время учиться на чужих ошибках!Введение
Каждый ... |
10.04.2024 | Что скрывается в коде игрового движка, написанного на Java? | Вы когда-нибудь интересовались игровыми движками, написанными на Java? В этой статье мы рассмотрим и проверим на наличие ошибок в исходном коде один из популярных игровых движков — jMonkeyEngine. Возможно, мы даже узнаем, почему игры пишутс... |
05.04.2024 | Как не надо проверять размер массива в С++ | Как часто вам приходится сталкиваться с конструкцией sizeof(array)/sizeof(array[0]) для определения размера массива? Очень надеюсь, что не часто, ведь на дворе уже 2024 год. В заметке поговорим о недостатках конструкции, откуда она берётся ... |
03.04.2024 | Быстро и легко ищем баги в играх на Unity (для C# разработчиков) | Все мы сталкиваемся с багами в играх. В некоторых даже чаще, чем хотелось бы. Множество этих багов связаны с ошибками в коде. Сегодня посмотрим, как с помощью статического анализа можно легко находить ошибки и улучшать ваш проект.
Игровая и... |
29.03.2024 | Часть 1. GPU-Based Fuzzing. Что за зверь такой? | Klim Galkin
SSDLC исследователь (почти)
Всем привет! В процессе изучение глобальной темы фаззинга наткнулся на статью ребят из Trail Of Bits (Ссылка). Такое использование видеокарт в фаззинг‑тестировании зацепило меня, на то есть причины. С... |
27.03.2024 | Настраиваем статический анализ Unreal Engine проекта | В PVS-Studio давно есть возможность анализировать Unreal Engine проекты. Но с момента последней заметки мы много работали над этим режимом. Поэтому хочу рассказать о том, как быстро настроить наш анализатор для проверки вашего проекта на Un... |
21.03.2024 | Непобедимый null: копаемся в исходном коде nopCommerce | nopCommerce — бесплатная платформа для создания интернет-магазинов с открытым исходным кодом, разработанная на базе ASP.NET Core. Сегодня мы узнаем, какие неоднозначные моменты таятся в коде платформы.Пара слов о проекте
При разработке ПО к... |
15.03.2024 | «Код-ревью — это когда твои комментарии в интернете действительно читают»: дискуссия с разработчиками на C++ | Заходят как‑то на Хабр С++ разработчики из крупных компаний, а у них спрашивают: что такое код‑ревью и используют ли они спецификатор final. Эти и другие вопросы с подвохом мы задали инженерам из YADRO, VK, Kaspersky, Syntacore и PVS‑Studio... |
15.03.2024 | Не исправил, а проработал принятие: как некоторые баги в играх стали фичами | Многие психологи советуют проработать принятие. Например, принятие своих ошибок. Некоторые разработчики игр восприняли это всерьёз и решили: "А почему бы и нет?", — и сделали свои промахи частью геймплея. Попробуем научиться на их... |
07.03.2024 | Притча о нулевом указателе для ленивых C программистов | Я согласен, что ошибка выделения памяти с помощью malloc редкая ситуация, и после такой ошибки, скорее всего, невозможно полноценное функционирование программы. Но меня удивляет, с каким упорством программисты, приводя эти аргументы, предла... |
04.03.2024 | Проверяем Blender | Командный центр PVS-Studio: "Как быстро летит время... А ведь в этом году, второго января, Blender исполнилось 30 лет! Как будто ещё вчера мы публиковали статью с разбором ошибок... Как 8 лет назад? Надо срочно исправлять ситуацию!&quo... |
20.02.2024 | Почему проверять результат вызова malloc c помощью assert плохая идея | Указатель, который вернула функция malloc, необходимо проверить перед использованием. Неправильным решением будет использовать для этого макрос assert. В этой статье мы разберём, почему это является антипаттерном.
Под функцией malloc далее ... |
15.02.2024 | Применение ООП на практике | Чаще всего задачу можно решить интуитивно понятным процедурным способом. Однако самый простой вариант не всегда самый лучший. Предлагаю посмотреть на примере реальной задачи, как можно сделать решение объектно-ориентированным, и какую польз... |
13.02.2024 | PVS-Studio 7.29: проверка Java-кода в VS Code, умные указатели Boost, плагин для Qt Creator на macOS | Вышел новый релиз PVS-Studio — 7.29. Теперь можно запускать анализ Java-проектов через плагин для VS Code, проверять умные указатели Boost, использовать плагин PVS-Studio для Qt Creator 12 на macOS, и это ещё не всё! Больше подробностей в э... |
09.02.2024 | Расширение PVS-Studio для Visual Studio Code: поиск ошибок в Java-коде | Java-разработчик и предпочитаешь работать в VS Code? Для тебя есть хорошая новость! Теперь ты можешь писать ещё более надёжный код вместе с расширением PVS-Studio, которое помогает находить ошибки в Java-проектах и не только.Введение
Анализ... |
06.02.2024 | Следует ли проверять указатель на NULL перед вызовом функции free? | Короткий ответ: нет. Тем не менее, раз про это вновь и вновь спрашивают на Reddit, Stack Overflow и других сайтах, пришло время подробно разобрать эту тему. Оказывается, есть много интересного, о чём можно порассуждать.
Функция free
Функция... |
01.02.2024 | Qt Creator* ищет ошибки в Qt Creator | Как-то так странно получилось, что у нас уже почти год как существует и поддерживается плагин PVS-Studio для Qt Creator. И при этом мы до сих пор не выпустили хорошей статьи с проверкой самой IDE. Исправляем сие недоразумение и предлагаем в... |
12.01.2024 | PVS-Studio в 2023 | За окном январь 2024 года, а это значит, пора подвести итоги за 2023 год! В этой статье мы не только рассмотрим всё новое, что появилось за 2023 год, но и освежим память по основным функциональным возможностям статического анализатора PVS-S... |
22.12.2023 | Ошибки и подозрительные места в исходниках .NET 8 | Каждый год выходит новая версия .NET. Это событие не только предоставляет нам возможность познакомиться с последними улучшениями в самом .NET и нововведениями в языке, но и даёт повод исследовать исходный код .NET. Нужно воспользоваться эти... |
21.12.2023 | Топ-10 ошибок, найденных в C#-проектах за 2023 год | За 2023 год разработчиками PVS-Studio было написано немало статей о проверке Open Source C#-проектов. По традиции мы делимся с вами 10-ю самыми интересными ошибками, найденными за этот год. Приятного чтения!Как попасть в топ?
Для попадания ... |
20.12.2023 | Квиз со звёздочкой для С++ программистов от Сергея Кушниренко | Привет всем любителям побрейнштормить и хорошенько развлечься! Команда PVS-Studio на связи. Новый крутой квиз с интересными вопросами из мира программирования уже у нас на сайте. Да не простой квиз, а задачки от Сергея Кушниренко — разработ... |
19.12.2023 | Предновогоднее шоу: Топ 10 ошибок в C и С++ проектах в 2023 году | Вот уже выпал снег, на дворе декабрь, а значит и Новый Год где-то рядом. В преддверии праздников мы решили показать вам наиболее интересные ошибки, которые мы смогли найти в коде популярных Open Source проектов. Наши авторы написали много п... |
15.12.2023 | PVS-Studio 7.28: поддержка ARM, .NET 8, анализ Unreal Engine без Unity Build и не только | Вышел новый релиз PVS-Studio — 7.28. Теперь можно запускать анализ на архитектуре ARM, .NET 8 и в Unreal Engine без Unity Build, и это ещё не всё! Больше подробностей в этом пресс-релизе.
Загрузить актуальную версию PVS-Studio можно здесь.
... |
12.12.2023 | Как заманить программиста на стенд? | В этой статье я расскажу немного о той части конференций, которая касается работы на стенде, об активностях для посетителей и о том, какие из этих активностей приманивают разработчиков и помогают удержать их внимание.
Вы приехали на конфере... |
08.12.2023 | Немного о гигиене Java кода | Во время код-ревью или работы над новым проектом может раздражать многое: стиль, подходы, качество. Но больше всего расстраивает банальный недостаток гигиены кода. В связи с регулярностью проблемы хочется на неё обратить внимание и напомнит... |
07.12.2023 | День, когда Скайнет обрёл сознание, и ещё 69 поводов собраться с коллегами. Часть 2 | Согласитесь, что иногда не хватает поводов собраться с коллегами и хорошенько отдохнуть. Да, есть официальные праздники и дни рождения, но список всё равно невелик. Мы нашли выход!
Порывшись в Интернете и пообщавшись с коллегами, мы обнаруж... |
23.11.2023 | Возвращаемся на Гроув-Стрит. Анализ движка Grand Theft Auto: San Andreas на Unity | Серия Grand Theft Auto стала культовой в игровой индустрии, а San Andreas — одной из самых запоминающихся частей для многих игроков. Время проходит, но фанаты всё так же преданы игре. Кто-то достаёт старый и пыльный диск с ностальгией, а не... |
17.11.2023 | Игоры! Как пишут код для SDL (+ интервью с создателем) | Джек Лондон как-то написал: "Не стоит ждать вдохновения, за ним надо гоняться с дубинкой". Если речь идёт о создании игр, то проект SDL вполне себе может послужить такой дубинкой. Но как он сделан сам?
Если вы когда-либо хотели сд... |
14.11.2023 | Что нового в .NET 8? | .NET 8 вышел в релиз, значит можно начинать переносить свои проекты на новую версию. В этой статье мы рассмотрим новые улучшения и фишки: C# 12, производительность, Native AOT, GC, новые типы, направленные на повышение производительности, N... |
09.11.2023 | Использование расширения VS Code «PVS-Studio» для эффективной борьбы с ошибками в C# коде | VS Code — это знакомый многим редактор кода, главная особенность которого — возможность дополнить свой функционал с помощью множества полезных расширений. Одно из них теперь помогает эффективнее находить ошибки не только в C, С++, но и в C#... |
02.11.2023 | Microsoft PowerToys: Король GitHub среди C# проектов с C++ ошибками | Microsoft PowerToys – это мощный и полезный инструмент. Он не только упрощает некоторые сценарии работы с Windows, но и привносит новые. А еще он занимает первую строчку топа по звездам на GitHub среди C# проектов. Посмотрим, насколько хоро... |
31.10.2023 | C++ Дайджест №6 (16 октября – 29 октября 2023) | Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.
Приятного чтения!⚡️️ Новости и релизы
C++ Moscow №2 — Чуть меньше чем через три недели, 19 ноября, в Москве состоитс... |
31.10.2023 | Проверяем YTsaurus. Доступность, надёжность, open source | В этой статье мы расскажем вам о результатах проверки кода проекта YTsaurus статическим анализатором PVS-Studio и разберём найденные ошибки. Уже больше полугода назад YTsaurus — мощная BigData-система — стала Open Source. Её разработка и ис... |
26.10.2023 | Опечатки, нулевые указатели и коварный таб: 33 фрагмента в библиотеке GTK | GTK – популярный фреймворк с открытым исходным кодом для создания графических интерфейсов, который интересно проверять с помощью анализатора PVS-Studio. Тем более, что предыдущую проверку мы делали около 3 лет назад, а значит, наверняка най... |
24.10.2023 | Интервью с разработчиками мультитула для хакеров и пентестеров Flipper Zero | Flipper Zero — карманный "мультитул" для гиков, сокровище для пентестеров, ваш собственный кибер-зверёк. Возможности девайса ограничиваются только вашим воображением и сноровкой.
В этой статье мы пообщаемся с разработчиками устрой... |