Это вопрос, с которым многие люди борются, и кажется, что существует множество различных мнений.
Я обнаружил, что лучший способ действительно определить подходящий ответ для каждого случая состоит в том, чтобы действительно разделить функцию на отдельные требования и сгруппировать их по наборам функций, при этом не обращая внимания на дополнительные варианты использования вне проекта. активно работаем.
Нет ничего, что говорило бы о том, что вы не можете построить свой проект, включив в него одно приложение, содержащее все необходимые вам модули. Это похоже на то, что с самого начала вам будет легче развиваться? Итак, вопрос, который нужно задать, звучит так: «Что если я захочу повторно использовать (вставить здесь набор функций) в другом проекте, не связанном с этим, через год после того, как я уже забыл о странных вещах, которые я сделал, чтобы заставить его работать изначально?». Задавая себе этот вопрос, вы заставляете задуматься о своих возможностях в гораздо более широком контексте, и я думаю, что в 99% случаев вы поймете, что требование «контактной формы» может на самом деле стать довольно сложным и действительно должно быть разбито как минимум на одно отдельное приложение (т.е. создание пользователя, управление профилем, подписка на электронную почту и т. д. c ...)
Вот ссылка на видео об этой самой топике c, которая мне показалась полезной для выяснения моих ответ на этот вопрос: https://www.youtube.com/watch?v=A-S0tqpPga4
Я знаю, что это не совсем жесткий ответ на ваш вопрос, но я надеюсь, что это поможет вам указать верное направление.