~GHOST IN
THE CODE()

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

Читать за 0 монет
Получите семь писем от инженеров, которые прошли игру с легаси до конца
Алексей Веселовский

Алексей Веселовский

Инженер

Работает в инфраструктурных и платформенных командах 20 лет. Известен серией докладов о санитайзерах ASAN, TSAN и родственных технологиях типа MemProf в LLVM. Спикер конференций Zero Cost Conf, C++ Russia, соведущий подкаста Pure Virtual Cast.

Константин Владимиров

Константин Владимиров

Эксперт по архитектуре в Синтакоре

Регулярно выступает на крупных конференциях, ведёт Telegram-канал C++ and other lectures и YouTube-канал Konstantin Vladimirov. Написал книгу «Оптимизирующие компиляторы».

Андрей Карпов

Андрей Карпов

Директор по развитию бизнеса в PVS-Studio

Занимается темой статического анализа кода и качества программного обеспечения 18 лет. Пишет статьи о том, как сделать код на «плюсах» безопасным. Один из основателей проекта PVS-Studio.

Илья Шишков

Илья Шишков

R&D-разработчик в СберТехе

Программирует на «плюсах» с 2006 года, обладает глубокой экспертизой в C++ и PostgreSQL. Ведёт блог «Илья Шишков: код, собесы, it».

Юлия Головчанская

Юлия Головчанская

Ведущий разработчик на C++

Инженер с восьмилетним опытом разработки сложных программных систем. Работала в сфере компьютерного зрения и занималась разработкой коммерческих мобильных игр, прошла путь до ведущего разработчика. Сейчас переходит в финтех. Специализируется на работе с большими легаси-базами, архитектурой и на применении AI-инструментов в инженерном процессе.

Антон Полухин

Антон Полухин

Руководитель группы разработки общих компонентов в Яндекс Go, председатель Российской рабочей группы по стандартизации C++

Представляет Россию в Международной рабочей группе по стандартизации C++ (WG21 ISO). Автор многих принятых предложений к стандарту языка C++. Разрабатывает и поддерживает стандартные библиотеки GCC и Boost. Активный мейнтейнер Any, Conversion, LexicalCast, Variant. Написал книгу Boost C++ Application Development Cookbook.

Александр Иргер

Александр Иргер

Эксперт по разработке ПО в YADRO

Много лет разрабатывает софт для телекома на C++ и немного на C. В YADRO участвует в разработке опорной сети 5G: пишет компонент, который отвечает за маршрутизацию и управляет пользовательским трафиком. Интересуется разработкой высокопроизводительных сетевых приложений.

Каждое письмо — новый инструмент для работы с легаси-кодом: от первого касания до культуры поддержки кодовой базы, которую можно распространить на команду

Юля Головчанская расскажет, как быстро войти в кодовую базу без документации. Научимся отделять «живое» от «мертвого» и проверим, где AI реально экономит недели, а где заводит на неверные тропинки.
Без стабильной сборки и автоматизации любой рефакторинг превращается в лотерею. Саша Иргер расскажет, как перейти с устаревших Make/autotools на CMake/Bazel, наладить воспроизведение старых тулчейнов в Docker, а еще настроить кеширование зависимостей, базовый CI-пайплайн и стратегии постепенной миграции без остановки разработки.
Илья Шишков столкнулся с ситуацией, когда верхний уровень аллокатора обещает типичное поведение при нехватке памяти. Но нижний уровень ведет себя иначе и роняет всю базу данных с ошибкой. Илья потратил много времени, чтобы понять, в чем дело, и починить аллокатор. В письме он расскажет, как не попасть в эту ловушку.
Константин Владимиров расскажет, как справляться с классическими проблемами кода на C++: утечки памяти, случаи двойного освобождения и в целом сложность ручного управления динамической памятью, особенно когда речь заходит про кастомные аллокаторы. Рассмотрим, как бороться с ними техническими средствами — санитайзерами — и с помощью механизмов абстракции, которые предлагает стандарт C++26.
Антон Полухин расскажет, как постепенно использовать возможности новых стандартов, не ломая обратную совместимость.
Андрей Карпов покажет, что проблемы можно выявлять как анализаторами, так и компиляторами, если правильно их настроить. Рассмотрим стандарты для написания кода (SEI CERT, MISRA) и отраслевые стандарты, которые предписывают, как правильно использовать компиляторы и анализаторы.
Техническая часть готова, но без процессов улучшения не закрепить. Алексей Веселовский расскажет, как настроить документирование архитектурных решений, онбординг новых разработчиков и метрики здоровья кода (churn, complexity, coverage). А еще разберемся, когда стоит рефакторить, когда — переписывать с нуля и как продавать бизнесу необходимость поддержки легаси.

В письмах вас ждут не только сюжеты о работе с легаси-кодом, но и квесты от авторов. Ищите задачи в конце каждого письма и присылайте ответы на почту engineer@yadro.com. Читатели, которые решат верно все задачи, участвуют в розыгрыше призов.

Мы приготовили:

Книгу «Оптимизирующие компиляторы» Константина Владимирова с автографом автора

Три футболки с пакманом-плюсовиком — пусть все знают, что вы гуру легаси

Книгу Boost C++ Application Development Cookbook Антона Полухина с автографом автора

Карьерную консультацию с экспертом YADRO

Мерч YADRO

Следите за инженерным контентом на наших площадках:

YADRO Telegram YouTube Habr