В C++ старый код часто выглядит как бухгалтерия после пика сезона: внешне живой, внутри — война костылей.
До C++11 многое собирали руками: умные указатели, move-семантика, constexpr, концепты — всего этого не было. Поэтому разработчики лепили конструкции из шаблонов и перегрузок, чтобы хотя бы не утонуть в ошибках компиляции. Часть решений была гениальной. Часть — работала только при благоприятном расположении звёзд.
И вот здесь начинается скандал: новичок видит «красивый» код и думает, что это архитектура. А на деле — это компромисс, который когда-то спас проект от падения в прод. В играх и движках это особенно жестко: абстракции там быстро проигрывают профилировщику, а неправильная идиома превращается в дорогой тормоз.
У C++ есть одна неприятная правда: почти любое решение можно сделать пятью способами. Четыре будут компилироваться. Три — даже работать. Но только один не разорит команду на поддержке. 🤷♂️
Именно поэтому старые идиомы надо читать в двух режимах:
как историю языка
и как инструкцию, где лежит минное поле.
В бизнесе ровно так же: оборот можно разогнать хоть до небес, но если юнит-экономика дырявая — вы не растете, вы красиво сжигаете деньги.
Seller Math
@SellerMathPro
В C++ старый код часто выглядит как бухгалтерия после пика сезона: внешне живой, внутри — война костылей.
Этот пост опубликован в Telegram-канале Seller Math. Подписаться можно по ссылке: @SellerMathPro.