PVS-Studio rus
630 subscribers
637 photos
10 videos
2 files
867 links
Тот самый анализатор с Хабра:
https://pvs-studio.ru/ru/
Download Telegram
Друзья, коллеги, товарищи, у нас новый вебинар!

"Базовые сценарии интеграции SAST решения в legacy-проект на примере PVS-Studio"
- рассмотрим базовый сценарий интеграции PVS-Studio,
- постараемся не утонуть в сообщениях анализатора,
- разберем, можно интегрировать PVS-Studio в CI систему.

📍18 апреля в 14:00

Регистрируйтесь по ссылке - https://pvs-studio.ru/ru/webinar/
Зачем нужен статический анализ кода? Каковы области его применения? Как стартап дорос до компании, разрабатывающей такой анализатор?

Обо всём этом и не только вы узнаете в новом подкасте с участием Андрея Карпова , сооснователя PVS-Studio.

Клик сюда – https://pvs-studio.ru/ru/blog/video/10996/
Позади первая конференция апреля – Стачка.
Наша команда была рада поучаствовать в этом мероприятии. Спасибо участникам за активность на нашем стенде.

Впереди нас ждет Merge в Иннополисе 20-21 апреля. Увидимся там!
Статические анализаторы помогают не только обнаруживать ошибки и дефекты безопасности, но и делать код чище. Выявляя лишние проверки, дублирующие действия и другие аномалии, можно сделать код проще, красивее и легче для чтения.
Разберём это на практическом примере рефакторинга функции 👇🏻

https://pvs-studio.ru/ru/blog/posts/cpp/1115/
PVS-Studio rus
#Задача_PVS #programming #java
Ответ на задачу: Анализатор заметил, что выражение i < indentLevel всегда ложно, потому что на первом же цикле переменные i и indentLevel будут равны 0, а значит, ни одной итерации цикла for не произойдёт. В результате при записи информации в StringBuilder не будут добавлены отступы в виде пробелов, если выбран режим prettyPrint.
У PVS-Studio обновления!
В новом релизе было добавлено несколько улучшений. Например, добавлены пользовательские аннотации, улучшилась работа PVS-Studio с Unreal Engine, но это далеко не всё.

Подробнее в заметке - https://pvs-studio.ru/ru/blog/posts/1116/
На очереди другой базовый термин любого C и C++ программиста — С-строки (нуль-терминированные строки). Если кратко, то это способ хранения строки в памяти, представляющий собой последовательность символов, заканчивающуюся специальным нуль-символом (NUL в ASCII таблице со значением 0).

Подробнее по ссылке — https://pvs-studio.ru/ru/blog/terms/0088/
Apache NetBeans — одна из первых IDE для Java, поддержка которой не прекращается на протяжении почти 30 лет. Совсем недавно вышла 21-я версия.

Мы решили проверить исходный код такого долгожителя и выбрали наиболее интересные ошибки, которые разберём в этой статье - https://pvs-studio.ru/ru/blog/posts/java/1117/
Тук-тук, Java-разработчики, вы тут? Мы про вас не забыли и тоже подготовили подборку классных и полезных статей.

- Применение ООП на практике - https://pvs-studio.ru/ru/blog/posts/java/1103/

- Операция "K". Ищем баги в коде IntelliJ IDEA - https://pvs-studio.ru/ru/blog/posts/java/1089/

- Немного о гигиене Java кода - https://pvs-studio.ru/ru/blog/posts/java/1086/

- Расширение PVS-Studio для Visual Studio Code: поиск ошибок в Java-коде - https://pvs-studio.ru/ru/blog/posts/java/1101/

Мы также напоминаем о специальном промокоде, с помощью которого вы можете попробовать анализатор PVS-Studio бесплатно в течение 30 дней - https://pvs-studio.ru/java_articles_tg
PVS-Studio rus
#Задача_PVS #programming #csharp
Ответ на задачу: Приоритет у оператора '^' выше, чему у '??'. Если MinimumRevisionAgeToKeep будет иметь значение null, то результат вычисления hashCode в выделенной строке всегда будет равен 0. Для исправления достаточно взять выражение с '??' в скобки.
Вот и вторая конференция апреля позади. Если кто-то не в курсе, то речь про крупную IT-конференцию – Merge.

Проходила она в Иннополисе. Это целый «город» с самыми современными технологиями и роботами-доставщиками.

Наша команда была рада побывать в таком месте и пообщаться с интересными людьми разных специальностей. Спасибо всем участникам за активность на нашем стенде! 😊
PVS-Studio rus
#Задача_PVS #programming #cpp
Ответ на задачу: Если указатель end нулевой, то к нему прибавляется длина строки. В результате получается невалидный указатель, который нельзя использовать. Скорее всего, на самом деле хотели написать вот это:
end = beg + strlen(beg) ;