PVS-Studio rus
1.46K subscribers
1.09K photos
31 videos
2 files
1.18K links
Тот самый анализатор с Хабра:
https://pvs-studio.ru/ru/
Download Telegram
Какими языками программирования вы владеете?

#опрос_PVS
Anonymous Poll
44%
C
54%
C++
40%
C#
16%
Java
48%
Python
22%
JavaScript
2%
Visual Basic
6%
Kotlin
12%
РНР
12%
Другой (в комментариях)
Найди ошибку в коде!

Эту ошибку мы встретили в "Roslyn analyzers" от компании Microsoft. Проект представляет собой расширение для Visual Studio, содержит аналитики ошибок, стиля и сложности кода.

Пишите свои варианты в комментарии, а через неделю в этом сообщении появится правильный ответ. Следить за всеми задачами на этом канале очень просто по хештегу #задача_PVS :)

Правильный ответ:
Доступ к rule.Declaration производится без проверки на null, но чуть ниже проверка rule уже есть. Если rule в момент доступа к rule.Declaration будет null, то это приведёт к NullReferenceException.
Бескомпромиссная плюсовая функциональность для отладочного вывода на микроконтроллерах

У GNU Arm Embedded Toolchain вышел релиз, включающий поддержку Concepts, Ranges, Coroutines вкупе с другими новинками С++20.

Воодушевленный новым стандартом программист микроконтроллеров Александр решил реализовать на С++20 интерфейс потока для отладочного вывода МК, поддерживающий любой подходящий протокол, предусмотренный вендром камня.


#полезное_PVS
🔺 Цель DoS-атаки — остановить или замедлить обработку запросов клиентов. Они не предназначены для кражи или повреждения данных клиентов.

При атаке появляются проблемы с доступностью вычислительных ресурсов, из-за которых процессы не выполняются за приемлемое время.

DoS-атаки разделяются на две группы: DDoS и DoS-атаки уровня приложения. Подробнее о них 👇

#термин_PVS
🚩 Проверяйте места, где указатель приводится к целочисленным типам

Запись значения указателя в 32-битную целочисленную переменную — коварная ошибка при создании 64-битного приложения. Такие ошибки незаметны: программа "почти работает", а специально повторить возникающие проблемы трудно.

Разбираемся, как обезопасить себя при создании 64-битных приложений ⬇️


#рекомендасьон_PVS
Возрастающая стоимость игр, репутация компаний-игроделов и статический анализ

Разрабатывать игры становится всё труднее и дороже. Поэтому разработчики должны использовать различные инструменты, которые повышают качество кода и удешевляют процесс поиска ошибок.

В чём польза PVS-Studio для проектов на Unity? Обсуждаем в статье.


#фича_PVS
50 советов как НЕ стоит писать код

Многие учат правильному программированию. Но мало кто говорит о том, что не нужно делать при написании кода.

Разработчики статического анализатора PVS-Studio написали 50 вредных советов для C++ программистов: https://pvs-studio.com/go.php?url=1635

Как известно, эти советы нужны тем, кто всё делает наоборот. Однако недавно британские ученые догадались, что и хорошим программистам нужны вредные советы. Они действуют на них как таблетка от глупости, поэтому и читать их рекомендуется всем.
Что выдаёт сишника при собеседовании на C++-вакансию?

Нередко собеседоваться на вакансию C++ developer'а приходят именно C-разработчики. Например, в embedded, где чистый C всё ещё очень популярен. Логика у такого кандидата простая: языки, на первый взгляд, довольно близкие и почти обратно-совместимые, базовый синтаксис одинаков, про ООП что-то слышал, и значит, основная база уже есть.

Несмотря на кажущуюся схожесть языков, они очень разные, поэтому на C и C++ разработчиков можно легко различить на интервью или ревью. Как это сделать? ⬇️
🔺Storage duration – это свойство идентификатора, определяющее правила, в соответствии с которыми объект будет создан и разрушен.

Существуют 4 вида storage duration: automatic, static, thread local и dynamic. Подробнее о них ⬇️
Правильный ответ:
Функция возвращает ссылку на временный объект, созданный и уничтоженный внутри тела функции, после чего она становится невалидной. Значение должно возвращаться по копии: accessor_iterator<T> operator++(int)


#задача_PVS
Недавно спрашивали у вас, пользуетесь ли вы PVS-Studio. По результатам опроса мы:

1️⃣ создаём новый опрос, — теперь нам интересно узнать, какие ещё статические анализаторы вы используете 😉


2️⃣ для тех, кто не ещё не пользуется PVS-Studio, предлагаем бесплатно попробовать анализатор в течение 30 дней по промокоду 👉 tg_pvs 👈
Какими статическими анализаторами вы пользуетесь?

#опрос_PVS
Anonymous Poll
41%
PVS-Studio
22%
CppCheck
25%
Clang Static Analyzer
0%
Coverity Scan
0%
SonarJava
25%
ReSharper
16%
SonarQube
16%
Другой (в комментариях)
Как создать качественный статический анализатор?

В докладе обсуждаем методики достижения высокого качества продукта, которые наша команда использует при разработке статического анализатора. Упор сделаем особенности разработки, а также на повышение качества именно анализа, то есть поиска реальных ошибок и потенциальных уязвимостей в коде.

Содержание:
🔹 Что внутри у C#-анализатора
🔸 Создаём и отлаживаем диагностику
🔹 Внутренние тесты, синтетика
🔸 SelfTester: проверка на реальном коде


#полезное_PVS
Структура идеального резюме Middle-разработчика 💯

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


#собеседование_HR
❗️ Не жадничайте на скобках в выражениях, где используются редкие операторы

Ошибки в таких случаях допускаются даже в простом коде. Рассмотрим проблему на примере тернарного оператора, который имеет очень низкий приоритет 👇🏻


#рекомендасьон_PVS
Видеообзор code review проекта на базе Unreal Engine 5 с помощью PVS-Studio 🤟🏻 ⬇️