Почему временные решения становятся долговечными в программировании
Самое долговечное в этом мире – то, что создавалось на пять минут.
В коде комментарий "// TODO: переписать нормально". Дата последнего изменения 2017 год. За это время успели смениться три тимлида, два стека и одна вера в светлое будущее. Но функция работает.
Быстрые фиксы живут годами, потому что у них есть главное преимущество перед красивыми решениями: они уже существуют. А существование – это уже 80% победы в мире бесконечной гонки.
Красивая архитектура требует обсуждений. Временный костыль требует 15 минут и отсутствия свидетелей. Угадайте, что победит в мире, где на обсуждение архитектуры нужно забукать переговорку на следующий квартал.
Самое смешное: такая архитектура работает. Не идеально, но работает. Она отказоустойчива в самом циничном смысле: никто не может сломать архитектуру, которой не существует.
Со временем вокруг временного решения нарастает экосистема. Другие сервисы начинают на него полагаться. Появляются зависимости, мониторинг, документация с пометкой "легаси, трогать осторожно!". И вот уже это не баг, а фича. Не костыль, а архитектурное решение с богатой историей.
В жизни то же самое. Съёмная квартира "на пару месяцев" превращается в дом. Работа "на время, пока не найду что-то своё" становится карьерой. Город, куда приехал "просто посмотреть", дарит прописку и привычку к его дождям.
Поэтому мы и живём в мире, построенном из hot-fix'ов: он не идеален, зато честен. И работает. Пока работает.
Подписывайтесь на Telegram Тёма дня.