Получи случайную криптовалюту за регистрацию!

Окей, это произошло. Мы быстро выкатили MVP проекта, он как-то | Программист и бизнес

Окей, это произошло. Мы быстро выкатили MVP проекта, он как-то взлетел и им даже пользуются люди.

Проходит время, и всплывают отдельные косяки. Там хреновая архитектура, здесь медленно работает, а здесь какой-то программист вообще такую дичь написал. И что делать, переписывать проект в учетом этих ошибок?

Нет, и еще раз нет. Переписывание работающего проекта с нуля - это на 99% огромный факап.

Я тоже раньше думал, что можем взять, и просто переписать проект с нуля. Без ошибок, с хорошей архитектурой. Горькая правда такая, что нет - не можем.

Переписывая проект с нуля, вы получите новые ошибки, которых не было в старом проекте. А добавляя новые фичи в красивый переписанный проект, вы неизбежно будете ломать новую красивую архитектуру. И мы возвращаемся на стартовую точку.

Есть много примеров компаний, которые совершили эту ошибку, и их выкинули с рынка. Яркий пример - браузер Netscape Navigator. Одно время это был наиболее популярный браузер в мире. Но в нем было дофига костылей, некрасивой архитектуры и вот этого всего. Компания-разработчик решила переписать его с нуля.

Итог закономерен. Переписывание заняло пару лет. В ходе переписывания всплывали новые баги. Старую версию заморозили, фичи не добавляли. В итоге получился большой факап. Старая версия устарела сама по себе. А новая, на момент выхода, была уже устаревшая и забагованная.

А если бы парни просто допиливали и плавно рефакторили старый код - все было бы окей.

Поэтому, если у вас есть работающий проект, то пусть он растет эволюционно. Где-то выделяем пару дней на рефакторинг (улучшение) кода. Удаляем неактульные куски кода. Плавно включаем новые технологии.

Поэтому, если кто-то предлагает вам взять и переписать все к чертям - посмотрите на него очень пристально.

Человек, который предлагает переписать проект с нуля, скорей всего не знает, какой ящик Пандоры он открывает.