#%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BE%D0%B4%D0%B5

2025-10-29

conway-errors: порядок в ошибках как часть архитектуры проекта

Однажды при работе с крупной кодовой базой одного фронтенд-приложения я заметил, что функционал постепенно группируется относительно команд (доменов). Каждая из таких групп функционала постепенно накладывает собственные ограничения на архитектуру. Как оказалось, обработка ошибок при сравнении кода двух разных команд неоднородна. В одном случае разработчики структурировали ошибки стандартным наследованием JS/TS, в другом были использованы перехваты возникающих ошибок и логирование. Стало ясно, что нам требуется обобщить подход к тому, как мы структурируем (называем, наследуем) и выбрасываем ошибки. Как показала практика, соглашений о кодировании недостаточно. Что мы хотели получить?

habr.com/ru/articles/961184/

#ошибки #ошибки_в_коде #обработка_ошибок #архитектура_приложений #фронтенд #бэкенд

2025-07-22

Глючная эстетика. Баги как неожиданное искусство в играх

Иногда в софте появляются баги и глюки. И игры не исключение. В них баги бывают настолько странные, что они в конечном итоге могут делать игру намного интереснее. Такие ошибки увлекательны: немыслимые анимации, странные реплики персонажей, появление/иcчезновение вещей или внезапное обретение преимущества в игре дают геймерам весьма запоминающийся опыт. Хотя баги в норме не должны быть частью геймплея, за ними может быть интересно наблюдать. Эти сцены абсурдны, смешны, пугающи — и абсолютно случайны. Но в них есть нечто большее, чем просто ошибка. В этой статье расскажу, как случайные баги в играх позволяют игрокам создать совершенно новые истории, которые бы не написал ни один сценарист.

habr.com/ru/companies/selectel

#selectel #баги #глюки #игры #сбои #ошибки_в_коде

2025-06-24

Карты, Java, 2 null'а. XMage edition

Компьютерная игра на Java — вещь довольно редкая, но всегда интересная. Поэтому мы не упустили возможность проверить статическим анализатором проект XMage и поделиться результатами. Посмотрим, что нашёл PVS-Studio в исходном коде проекта.

habr.com/ru/companies/pvs-stud

#статистический_анализ #magic_the_gathering #java #opensourse #pvsstudio #игры #gamedev #качество_кода #ошибки #ошибки_в_коде

2025-04-09

Третья часть исследования Nau Engine

В финальной части нашей трилогии, посвящённой Nau Engine, мы уделим внимание ошибкам, возникающим при разработке классов. Приведённые в статье примеры наглядно демонстрируют, как даже небольшие недоработки могут обернуться серьёзными проблемами в работе приложения.

habr.com/ru/companies/pvs-stud

#bugs #gamedev #разработка_игр #c++ #static_analysis #поиск_ошибок #ошибки_в_коде #отечественная_разработка

2025-03-31

Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень

Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места. В этот раз поговорим про написание кода методом Copy-Paste . С одной стороны, программисты знают, что копирование кода с последующей его модификацией провоцирует ошибки и опечатки. С другой — набирать каждый раз фрагмент кода, похожий на уже написанный, скучно и непродуктивно. Здесь важно соблюдать некий баланс, который сложно сформулировать и понимание которого приходит с опытом.

habr.com/ru/companies/pvs-stud

#си #си++ #статический_анализ_кода #программирование #рефакторинг #c #c++ #sast #static_code_analysis #TDengine #code_review #refactoring #bugs #баги #ошибки_в_коде

2025-03-17

Грязный код — надёжное хранилище ошибок. Теория разбитых окон

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

habr.com/ru/companies/pvs-stud

#чистый_код #статический_анализ #запахи_кода #качество_кода #ошибки_в_коде

2025-02-21

Вторая часть исследования Nau Engine

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

habr.com/ru/companies/pvs-stud

#bugs #ошибки_в_коде #отечественные_разработчики #поиск_ошибок #static_analysis #gamedev #разработка_игр #с++

2025-02-21

Что можно узнать из логов сервера: разбираем на 3 примерах

Привет, Хабр! Когда на сайте что-то пошло не так, все знают, что в логах можно найти причину и узнать детали происшествия. В этой статье мы разберем три примера, когда помогут логи: если сайт атакует бот, ухудшилась производительность или есть ошибка в базе данных. Если вы начинающий веб-мастер, то этот краткий гайд поможет понять, где искать информацию и как она может быть представлена.

habr.com/ru/companies/runity/a

#серверы #логи #логирование #системное_администрирование #тестирование_ит_систем #тестирование_вебприложений #вебразработка #хостинг_сайтов #базы_данных #ошибки_в_коде

2025-02-13

Первая часть исследования Nau Engine

Этой статьёй мы начинаем трилогию об игровом движке Nau Engine. В первой части мы сосредоточимся на его функциональности, уделяя особое внимание трём ключевым блокам ошибок: проблемам с памятью, копипасте и логическим ошибкам.

habr.com/ru/companies/pvs-stud

#с++ #разработка_игр #ошибки_в_коде #static_analysis #gamedev #bugs #программирование #поиск_ошибок #отечественные_разработчики

2025-01-31

PPSSPP или всё же psp? Смотрим баги в коде из прошлого

В мире видеоигр эмуляторы стали настоящей находкой для поклонников классических проектов. PPSSPP — один из самых популярных эмуляторов для PlayStation Portable (PSP), который позволяет нам вновь окунуться в атмосферу любимых игр, но уже на современных устройствах. Однако чтобы играть без сбоев и лагов, нужно убедиться, что код эмулятора хорошо написан.

habr.com/ru/companies/pvs-stud

#ppsspp #psp #c++ #gamedev #gamedevelopment #emulator #bugs #static_analysis #ошибки_в_коде #pvsstudio

2025-01-28

Путеводитель C++ программиста по неопределённому поведению

Вашему вниманию предлагается полный список разделов электронной книги (12 из 11 :)), посвящённой неопределённому поведению. Книга не является учебным пособием и рассчитана на тех, кто уже хорошо знаком с программированием на C++. Это своего рода путеводитель C++ программиста по неопределённому поведению, причём по самым его тайным и экзотическим местам. Автор книги — Дмитрий Свиридкин, редактор — Андрей Карпов.

habr.com/ru/companies/pvs-stud

#Неопределённое_поведение #undefined_behavior #C #C++ #Си #Си++ #баги #ошибки_в_коде #ошибки_программистов #программирование #компиляторы

2024-11-20

19 ошибок в LLVM 19

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

habr.com/ru/companies/pvs-stud

#llvm #llvm_19 #pvsstudio #компиляторы #ошибки_в_коде #ошибки_программистов #ошибки_программирования #баги #открытый_исходный_код #статический_анализ_кода #sast #информационная_безопасность #опечатки

2024-11-12

DPDK: 100 больших и маленьких багов

В своей обители в Р'лайхе мёртвый Ктулху спит в ожидании своего часа. А в C коде проекта DPDK спит множество ошибок, и тоже в ожидании своего часа. Давайте посмотрим, какие из них может выявить анализатор PVS-Studio.

habr.com/ru/companies/pvs-stud

#DPDK #Data_Plane_Development_Kit #C #программирование #баги #ошибки_в_коде #static_code_analysis #SAST #статический_анализ_кода #анализ_кода #информационная_безопасность #PVSStudio #open_source

2024-10-28

Самая красивая ошибка, которую я нашёл с помощью PVS-Studio в 2024 году

Сразу предупреждаю, мои вкусы очень специфичны. Красота ошибки в том, что человеку её очень сложно найти. Я не верю, что её можно заметить при обзоре кода. Если только заранее знать, что она есть, и искать её целенаправленно. Ошибку я нашёл в проекте DPDK . В нём есть и другие ошибки, но про них потом. Они меркнут перед этим алмазом. Только не ждите чего-то эдакого. Ошибка проста до безобразия. Вот только найти её, просматривая код, ой как непросто. Собственно, попробуйте сами.

habr.com/ru/companies/pvs-stud

#DPDK #Си #Си++ #C #C++ #ошибки_в_коде #pvsstudio #opensource #баги #bugs #информационная_безопасность #статический_анализ_кода

2024-10-09

PPSSPP или всё же PSP?

Думаю, многих из нас охватывает тёплое чувство ностальгии, когда речь идёт о PSP. Эта портативная консоль, выпущенная в 2004 году, стала настоящим прорывом для своего времени. Она подарила нам возможность наслаждаться полноценными игровыми проектами в дороге, что было невероятно новаторским для того периода. У вас словно была маленькая частичка домашней консоли в кармане.

habr.com/ru/companies/pvs-stud

#ppsspp #psp #c++ #gamedev #gamedevelopment #баги #ошибки_в_коде #программирование #статический_анализ #pvsstudio

2024-06-11

Сколько UB в моём компиляторе?

У C и C++ программистов две головные боли в плане ошибок: утечки памяти и неопределённое поведение. И как вы догадались из названия, речь пойдёт о неопределённом поведении. И каком-то "моём" компиляторе. Если точнее, то о наборе компиляторов и инструментах для их разработки, а именно LLVM. Почему "моём"? Потому что мы очень любим Clang, входящий в состав LLVM, и пользуемся им на постоянной основе.

habr.com/ru/companies/pvs-stud

#с++ #llvm #undefined_behavior #opensource #pvsstudio #static_analysis #bugs #компиляторы #ошибки_в_коде #программирование

2024-05-30

Объявляю ошибку вида if (x = 42) вымирающей и заношу её в Красную книгу C и C++ багов

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

habr.com/ru/companies/pvs-stud

#c #c++ #си #си++ #программирование #ошибки_в_коде #баги #нотация_Йоды #pvsstudio #статический_анализ_кода #красная_книга #компиляторы

2024-05-29

Какие ошибки есть в коде LLVM?

LLVM — open-source проект с огромной кодовой базой. Лучший из лучших, если говорить о качестве кода, учитывая его размеры и открытость. Ведь кому, как не разработчикам инструментов для компиляторов, лучше знать о возможностях языка и правильном их использовании. Их код всегда на высоте, а найти ошибки в нём всегда вызов для нашего анализатора, который мы принимаем.

habr.com/ru/companies/pvs-stud

#с++ #llvm #opensource #pvsstudio #static_analysis #bugs #компиляторы #статический_анализ #ошибки_в_коде #программирование

2024-05-22

17 самых распространенных ошибок новичков в Python и как их фиксить

Разбираемся, как исправить самые распространенные ошибки Python, которые приводят к сбою вашей программы.

habr.com/ru/companies/skillfac

#python #пайтон #ошибки #ошибки_в_коде #ошибки_в_программе #исключения_в_python #python3 #разработка_на_python

2024-05-16

Проверка игрового движка qdEngine, часть третья: дополнительная десятка багов

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

habr.com/ru/companies/pvs-stud

#си #си++ #pvsstudio #c #c++ #обзор_кода #разработка_игр #программирование #qdEngine #следствие_ведут_колобки #SAST #статический_анализ_кода #тестирование #баги #ошибки_в_коде

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst