Сегодня я видел множество кривеньких велосипедных конструкций, для которых человечество уже давно придумало полноценные, хорошо оттестированные и зарекомендовавшие себя решения.
(В)опрос:
Как часто вы изобретаете велосипеды и тащите их в прод?
🤔
8.9%
На каждую задачу🤔
31.8%
Только если так проще🤔
53.8%
Иногда -не знаю о готовом🤔
5.5%
НикогдаВ плюсовом мире, по моим ощущениям, наблюдается какая-то велосипедная болезнь.
"В каждом достаточно зрелом проекте найдется класс строки"
Видел по четыре имплементации функции разбиения строки по пробелам в одном и том же проекте.
Иногда по две имплементации в одном и том же файле
Объясняю себе я это по-разному.
Во-первых, тяжелое наследие C, в котором ничего нет из коробки, а когда что-то все таки есть, то оно крайне небезопасно (strtok, привет). И странное наполнение стандартной библиотеки.
Во-первых, готовые решения часто тяжело притащить. Сколько-нибудь адекватными плюсовые пакетные менеджеры стали не очень давно.
проблема с изоляцией и модульностью (нет их, даже с C++20)
В-третьих, решение может быть громоздким, тянуть тяжелые зависимости, которые неприемлемы в ваших условиях и ограничениях
Ну и наконец:
"Эти инженеры гугла/яндекса/фейсбука ничего не умеют — я лучше сделаю"
Путь великой гордыни плюсовиков
Конечно же, тут я не рассматриваю решения, требующие закупок лицензий, сертификации и подобного. Это уже не велосипед.