arrow

назад

ask

Вопрос

Когда проект пора делить на разные репозитории? Как относитесь к git субмодулям?

repost

550

input message

напишите коммент


22 коммента

Обычно для каждого приложения использую свой репозиторий. Пока не было нужды выносить модули из приложений.

0

ответить

Ну смотри допустим ты пишешь ИИ голосового помощника, на субмодули подели библиотеки которые используешь к примеру vosk или whisper от chat gpt

0

ответить

вопрос не в том как делить, а в том когда это физически выносить в разные репы (или может изначально под каждый чих пилить свой репозиторий)

0

ответить

в зависимости от того что ты пишешь и как тебе по структуре удобно

0

ответить

Когда в проекте намечается реализация отдельных доменных сущностей (вынесение в микросервисы) + дополнительный фактор: необходимость независимого деплоя и уменьшение связанности этих самых сущностей.

0

ответить

К сожалению я ещё не дочитал до 4 части, где вводятся такие понятия, как "ограниченный контекст" и "ядро". Интуитивно понятно о чём речь, но возможно когда дочитаю - что-нибудь ещё прояснится.

Правильно я понимаю что вы рекомендуете придерживаться правила: 1 доменная модель = 1 git репозиторий?

0

ответить

  1. когда можно «вырвать» код из контекста текущего проекта и вставать в другой проект безболезненно

  2. положительно если все в команде понимают как с ними работать (иначе п***ц)

0

ответить

про первый пункт тогда обратный вопрос. как относитесь к объединённым в одном репозитории фактически разным проектам. например бэк и фронт. или что-то базовое и абстрактное, а рядом несколько разных реализаций (например со спецификой интеграции под разные платформы)

0

ответить

Зависит от проекта, если бэк и фронт вместе и это не BFF (backend for frontend) то негативно

0

ответить

весьма категорично. может всё-таки в этом есть смысл например на старте проекта, когда API ещё не вполне сформирован? или может вообще есть смысл отделять что-то в отдельный репозиторий только при достижении первой стабильной версии (v0.0.1) для публикации этого модуля.

0

ответить

Смысл тогда делать вместе, если в последствии все равно будете отделять ?

Лучше сразу делать правильно и учитывать дальнейшие риски, мало ли хитрые бэкэндеры захотят спрятать какие нибудь ключи от фронтдеров 🫡

0

ответить

интуитивно с вами хочется согласиться, но я не могу достаточно формально ответить себе на вопрос "почему?". почему не начать с монолита который очевидно быстрее и проще сваять на старте, а потом итеративно дербанить его на модули?

0

ответить

Потому что в процессе деления может уйти больше времени, что бы заменить все импортируемые файлы на модули

0

ответить

но это же вопрос чисто архитектурный. можно и микросервисы в такой клубок связей скомкать, что будет не проще чем с монолитом. а уж про дебаг я вообще молчу.

а так всё перед глазами. когда с крупнокалиберными изменениями будет покончено, распилить хорошо спроектированную систему на части дело техники. это не очень сложно.

0

ответить

Сколько людей столько и мнений, лично настрадался с саб модулями когда делил уже «готовый»проект на модули, было тяжело и больно 🫡

0

ответить

Что касательно микросервисов в компаниях в которых я работал, было нормой пилить их в одном репозитории, никто не жаловался

0

ответить

Зная современные тенденции в разработки с крупнокалиберными изменениями никогда не будет покончено,

0

ответить

Очень плохо, ими никто не умеет правильно пользоваться

0

ответить

ну почему никто? мы на работе активно используем.

0

ответить

Многие проекты тоже используют, но у сабмодулей есть свои проблемы, которые обычно решаются либо монорепой, либо своим инструментарием

0

ответить

какие например? что-то ничего не приходит в голову.

0

ответить

навскидку наверное могу назвать только gyp

0

ответить

еще контент автора

пост закреплён — пока закрепить можно только один пост

trash bin
перейти к нему не получится