Size: a a a

Архитектура ИТ-решений

2020 August 18

PD

Phil Delgyado in Архитектура ИТ-решений
Oleg Soroka
Я уже давно написал небольшой скриптик, который тупо клонирует на диск содержимое всего гитлаба, со всей гитлабовской  встроенной иерархией, ибо даже как-то лень индивидуально с каждым "проектом" разбираться.
И SourceTree и VS Code прекрасно импортируют рекурсивно все репы от общего корня.
Чем это отличается от монорепы, кроме того, что общий корень ничем не захламлён, а за каждым потоком коммитов можно следить избирательно - не знаю
Тем, что в рамках монорепы смотреть диффы между бранчами/тегами проще (а это иногда нужно).
Ну и по опыту мультирепу IDE поддерживают хуже, нужны всякие разные скриптики, а это усложняет онбординг.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Foxcool
Сейчас как раз за подобными гениями поддерживаем пачку распределенных монолитов. Везде некий колхозный core модуль с вкоряченным туда логгером, драйверами бд, либами работы с очередями и прочими получателями параметров
Хм, а какие есть варианты (ну, кроме реализации фреймворков как набора независимых библиотек, но это не сильно упрощает жизнь)?
источник

OS

Oleg Soroka in Архитектура ИТ-решений
Phil Delgyado
Тем, что в рамках монорепы смотреть диффы между бранчами/тегами проще (а это иногда нужно).
Ну и по опыту мультирепу IDE поддерживают хуже, нужны всякие разные скриптики, а это усложняет онбординг.
Но ведь меня никогда не интересует больше 5% общей кодовой базы.
Зачем мне сначала свалить всё в кучу, чтобы потом каждый раз фильтровать 95% нерелевантных измененеий?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Oleg Soroka
Но ведь меня никогда не интересует больше 5% общей кодовой базы.
Зачем мне сначала свалить всё в кучу, чтобы потом каждый раз фильтровать 95% нерелевантных измененеий?
Ну, смотря какая команда и кто ты. Мне обычно интересен как минимум список всех изменений по задаче.
Но для команды в 150 человек, конечно, такое реже - хотя смотря как выстроены процессы, если много фичакоманд, то часто интересны изменения по нескольким срезам.
Кстати, а сейчас появились инструменты управления одноименными бранчами на нескольких репозитариях?
источник

П

ПашМиш in Архитектура ИТ-решений
Phil Delgyado
Хм, а какие есть варианты (ну, кроме реализации фреймворков как набора независимых библиотек, но это не сильно упрощает жизнь)?
Я проблему таких колхозов вижу в том, что трудно что либо исправить. Например поменять сигнатуру функции, так как ее неизвестно кто использует. По этому часто просто пишут исправленную версию функции рядом. Со врмененем это приводит к захламлению кодом, который используется редко либо вообще не используется. Лечением может быть четкое разграничение ответственности за код.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
ПашМиш
Я проблему таких колхозов вижу в том, что трудно что либо исправить. Например поменять сигнатуру функции, так как ее неизвестно кто использует. По этому часто просто пишут исправленную версию функции рядом. Со врмененем это приводит к захламлению кодом, который используется редко либо вообще не используется. Лечением может быть четкое разграничение ответственности за код.
1) если это именно функция, то кто мешает просто явно в IDE посмотреть кто ее использует? Еще и отрефакторить одной командой по всему проекту?
2) если это была бы функция API - то тем более невозможно выяснить, а кто ее использует. Это вообще проблема мультиязыковых многосервисных решений.
источник

p

pragus in Архитектура ИТ-решений
Phil Delgyado
1) если это именно функция, то кто мешает просто явно в IDE посмотреть кто ее использует? Еще и отрефакторить одной командой по всему проекту?
2) если это была бы функция API - то тем более невозможно выяснить, а кто ее использует. Это вообще проблема мультиязыковых многосервисных решений.
+
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Phil Delgyado
Ну, смотря какая команда и кто ты. Мне обычно интересен как минимум список всех изменений по задаче.
Но для команды в 150 человек, конечно, такое реже - хотя смотря как выстроены процессы, если много фичакоманд, то часто интересны изменения по нескольким срезам.
Кстати, а сейчас появились инструменты управления одноименными бранчами на нескольких репозитариях?
Так это ж вроде в задаче всегда прибито, а не в репе.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Alexander Luchkov
Так это ж вроде в задаче всегда прибито, а не в репе.
Это в бранче же прибито. Или в куче бранчей, если реп много.
источник

П

ПашМиш in Архитектура ИТ-решений
Phil Delgyado
1) если это именно функция, то кто мешает просто явно в IDE посмотреть кто ее использует? Еще и отрефакторить одной командой по всему проекту?
2) если это была бы функция API - то тем более невозможно выяснить, а кто ее использует. Это вообще проблема мультиязыковых многосервисных решений.
Если это все в пределах сферы деятельности одной команды, то все решаемо. Страх начинается когда несколько команд устраивают колхоз.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
ПашМиш
Если это все в пределах сферы деятельности одной команды, то все решаемо. Страх начинается когда несколько команд устраивают колхоз.
Да даже и если колхоз. Если любая команда может править весь код - то не проблема.
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Phil Delgyado
Это в бранче же прибито. Или в куче бранчей, если реп много.
Ну у меня например 3-6 репов по задаче могу меняться, и это всё в задаче видно, а не в бранче.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Alexander Luchkov
Ну у меня например 3-6 репов по задаче могу меняться, и это всё в задаче видно, а не в бранче.
Но как все изменения собрать? Или у тебя какой-то инструмент для этого есть?
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
В смысле "собрать" ? Код из коммитов выдрать?
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Диффы посмотреть?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Alexander Luchkov
В смысле "собрать" ? Код из коммитов выдрать?
Хотя бы посмотреть какие файлы поменялись в рамках задачи.
источник

П

ПашМиш in Архитектура ИТ-решений
Phil Delgyado
Да даже и если колхоз. Если любая команда может править весь код - то не проблема.
Да, проблема если часть код разбит по сферам деятельности разных команд и одна не должна лезть во владения другой.
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
А, так это в каждом коммите есть.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Alexander Luchkov
А, так это в каждом коммите есть.
Так мне суммой за задачу, а не суммой по коммитам...
источник

PD

Phil Delgyado in Архитектура ИТ-решений
ПашМиш
Да, проблема если часть код разбит по сферам деятельности разных команд и одна не должна лезть во владения другой.
Ну тогда и не влезай. Лучше, конечно, тогда иметь несколько библиотек по сферам деятельности, но все равно же общие библиотеки вылезут.
источник