Классы, которые люди самостоятельно пишут, а потом копируют из одного проекта в другой, хотя они уже есть в стандартных библиотеках, в простонародье называются **велосипедами**. Первый вопрос, который возникает при встрече с таким «велосипедом» — **зачем люди переписывают что-то заново?** Вариантов может быть несколько.
* Некоторые делают это **для самообучения**: берут класс стандартной библиотеки, пишут его сами с нуля, сравнивают то, что получилось, с тем, что есть в стандартной библиотеке — в процессе узнают для себя что-то новое.
* Некоторые проекты имеют **особое требования к коду**. В embedded-разработке принято работать без RTTI и без exception, поэтому части стандартной библиотеки, которые используют RTTI и exception, необходимо переписать без них.
* Редко, но бывает, когда велосипед пишут, потому что **могут написать лучше**, чем в стандартной библиотеке. Как правило, такие нововведения рано или поздно попадают в стандартную библиотеку.
* Другим только **кажется, что они могут написать лучше**, и таких людей больше. Но в процессе они обучаются, выясняют для себя что-то новое и что-то интересное открывают.
* Могут быть **другие причины**.
Сегодня мы **не будем говорить о том, что велосипеды — это плохо**, это не обязательно так. Мы поговорим о том, что действительно плохо:
* бездумно переносить **устаревшие технологии** 20-30-летней давности в современные проекты;
* пользоваться **«вредными» бенчмарками и оптимизациями.**
А также затронем** «вредные» советы**, обсудим **новейшие практики программирования** (C++ 11 и позднее), подумаем, что делать с **«идеальным» велосипедом.**
[Читать дальше →][1]
[1]:
https://habrahabr.ru/post/352280/?utm_source=habrahabr&utm_medium=rss&utm_campaign=352280#habracut