В C++ старый код часто выглядит как склад с пятью дверями.
4 двери открываются. 3 ведут в рабочий зал. 2 — в правильную архитектуру. 1 — в баг, который всплывает через 6 месяцев и съедает 40 часов команды.
Это не шутка про язык. Это шутка про стоимость решений.
До C++11 многие вещи собирали вручную: умные указатели, move-семантику, constexpr. Значит, каждый лишний шаблон, перегрузка и идиома были не «красотой кода», а попыткой сэкономить на памяти, CPU и ошибках. В играх это особенно видно: профилировщик быстро увольняет абстракции.
Мини-калькулятор:
если неудачная абстракция добавляет +2% к времени кадра,
а у вас 10 критичных мест,
получаете не «чуть медленнее», а минус запас по FPS и плюс риск, что оптимизировать придётся ночью.
Отсюда и драматургия C++: часть паттернов — наследие эпохи костылей, часть — всё ещё рабочие инструменты. Ошибка команды обычно одна: принять исторический артефакт за универсальный рецепт.
На собесе достаточно 5–6 точных вопросов по идиомам, чтобы понять, человек видел реальные ограничения или только синтаксис. И это уже не вкусовщина, а фильтр по риску. ⚙️
Agency Math Notes
@AgencyMathPro
В C++ старый код часто выглядит как склад с пятью дверями.
Этот пост опубликован в Telegram-канале Agency Math Notes. Подписаться можно по ссылке: @AgencyMathPro.