Короткий ответ — переписывать всё равно придётся почти всё 😭
Когда появляются первые платящие клиенты, начинается главное: адаптация продукта под их запросы. Быстро. Много. На этом этапе плохая архитектура начинает мстить.
Чтобы не переписывать прототип с нуля (тоже неплохой вариант если есть команда и деньги), код должен быть:
— простой для понимания;
— изолированный по зонам ответственности;
— легко тестируемый.
📺 У Дмитрия Елисеева есть хорошая презентация о том, как писать понятный и поддерживаемый код, особенно в MVP:
https://www.youtube.com/watch?v=eU4ajVB9Lz4#разработка