Pull to refresh
583
22
Андрей Карпов @Andrey2008

Директор по маркетингу

Send message

60 антипаттернов для С++ программиста, часть 4 (совет 16 — 20)

Level of difficultyEasy
Reading time17 min
Views4.8K

1053_60_cpp_antipatterns_ru/image2.png


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

Читать дальше →
Total votes 15: ↑11 and ↓4+7
Comments32

60 антипаттернов для С++ программиста, часть 3 (совет 11 — 15)

Level of difficultyEasy
Reading time9 min
Views2.9K

1053_60_cpp_antipatterns_ru/image2.png


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

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments0

60 антипаттернов для С++ программиста, часть 2 (совет 6 — 10)

Level of difficultyEasy
Reading time7 min
Views4.7K

1053_60_cpp_antipatterns_ru/image2.png


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

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments16

60 антипаттернов для С++ программиста, часть 1 (совет 1 — 5)

Level of difficultyEasy
Reading time7 min
Views8.1K

1053_60_cpp_antipatterns_ru/image2.png


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

Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments44

GPT-3 нашёл 213 Security Vulnerabilities… Или не нашёл

Level of difficultyMedium
Reading time3 min
Views5.8K

GPT-3 нашёл 213 Security Vulnerabilities... Или не нашёл
Этот текст является развёрнутым комментарием к статье "Я нашёл 213 уязвимостей безопасности в кодовой базе при помощи GPT-3".

Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments27

Коллекционирую лучшие C++ практики

Reading time3 min
Views19K

Коллекционирую лучшие C++ практики


Что-то наши публикации всё больше о плохом, чем о хорошем. Здесь баг, тут код с запахом, это антипаттерн, вот так писать не надо. Помогите увидеть светлую сторону программирования на С++. Оставляйте комментарии.

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments9

0, 1, 2, Фредди забрал Blender

Reading time2 min
Views4.6K

0, 1, 2, Фредди забрал Blender


Эта статья могла бы получить название "Как PVS-Studio защищает от поспешных правок кода, пример N7". Однако так именовать статьи становится скучновато. Поэтому сейчас вы узнаете, причём здесь Фредди Крюгер.

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments4

Примеры ошибок, которые может обнаружить PVS-Studio в коде LLVM 15.0

Reading time20 min
Views3.5K

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

Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments8

Конкурс внимательности: PVS-Studio vs Хакер

Reading time5 min
Views3.8K

PVS-Studio vs Хакер


Время от времени мы пишем статьи в духе "статический анализатор внимательнее C++ программиста". Сегодня мы продолжим эту традицию, разве что заменив "программист" на "хакер".

Читать дальше →
Total votes 51: ↑41 and ↓10+31
Comments3

Предупреждения помогают писать лаконичный код

Reading time4 min
Views3.1K

Единорог PVS-Studio ужимает слона
Некоторые предупреждения анализатора или компилятора сложно однозначно классифицировать как ложное срабатывание или указание на настоящую ошибку. Бывает, что формально анализатор/компилятор прав, но и код работает правильно. Что делать? Возможно, это повод упростить код.

Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments4

PVS-Studio для проверки лабораторных работ на C и C++

Reading time3 min
Views2.5K

C++ error: "pointer being freed was not allocated


Встретил очередной вопрос на Stack Overflow от человека, изучающего язык C++. Количество подобных вопросов можно сократить, используя PVS-Studio. Человек сразу может получить ответ, не отвлекая других.

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments7

Игра: найди ошибку в C++ коде

Reading time2 min
Views9.5K

Игра PVS-Studio: найди ошибку в C++ коде
Авторы анализатора PVS-Studio предлагают вам проверить свою внимательность и развлечься. Попробуйте быстро отыскать баг в фрагменте исходного кода и ткнуть в него мышкой.

Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments18

Тем, кто учится программировать и решил написать вопрос на Stack Overflow: «Почему код не работает?»

Reading time3 min
Views6.1K

PVS-Studio Online


На сайте Stack Overflow много вопросов от людей, ещё только изучающих языки программирования. Лайфхак: ответы на многие эти вопросы можно получить сразу, запустив анализатор кода. Получится быстрее.


Эту заметку меня побудила написать дискуссия "Segmentation fault when converting char * to char **" на сайте Stack Overflow. Человек, изучающий программирование, интересуется, что не так с его кодом.

Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments9

Обрабатывать ли в PVS-Studio вывод других инструментов?

Reading time5 min
Views1.1K

Обрабатывать ли в PVS-Studio вывод других инструментов?
Анализатор PVS-Studio умеет "схлопывать" повторяющиеся предупреждения. Предоставляет возможность задать baseline, что позволяет легко внедрять статический анализ в legacy-проекты. Стоит ли предоставить эти возможности для сторонних отчётов?

Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments2

Как PVS-Studio защищает от поспешных правок кода, пример N5

Reading time3 min
Views2K
Blender commit

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

Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments0

Как PVS-Studio защищает от поспешных правок кода, пример N4

Reading time2 min
Views1.6K

Blender, PVS-Studio, std::clamp
Если регулярно использовать статический анализатор кода, то можно сократить время на гадание, почему новый код работает как-то не так, как задумывалось. Рассмотрим очередную интересную ошибку, когда в процессе рефакторинга сломалась функция и это осталось не замеченным человеком.

Читать дальше →
Total votes 17: ↑10 and ↓7+3
Comments4

How PVS-Studio prevents rash code changes, example N4

Reading time2 min
Views1.1K

Blender, PVS-Studio, std::clamp
If you regularly use a static code analyzer, you can save time on guessing why the new code doesn't work as planned. Let's look at another interesting error — the function broke during refactoring, and no one noticed that. No one — except for PVS-Studio that can automatically scan the project and email the report to us.

Read more →
Total votes 2: ↑1 and ↓10
Comments0

Как PVS-Studio защищает от поспешных правок кода, пример N3

Reading time2 min
Views1.5K

Blender, PVS-Studio, Example 3
Продолжаем серию маленьких заметок про то, как анализатор PVS-Studio может быстро находить новые ошибки в коде. При условии, конечно, что он регулярно используется :). Итак, перед нами очередной баг в проекте Blender.

Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments0

Какая стратегия освобождения памяти используется в C и С++ ядре PVS-Studio?

Reading time5 min
Views4.6K

Какая стратегия освобождения памяти используется в C и С++ ядре PVS-Studio?
Так получилось, что в различных обсуждениях мы уже несколько раз комментировали, как C и C++ модуль PVS-Studio работает с памятью. А раз так, пришло время оформить этот ответ в виде маленькой статьи.

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments2

Information

Rating
266-th
Works in
Date of birth
Registered
Activity

Specialization

Specialist
C++
C
Software development