214 похожих чатов

Как правильно организовывать структуру, когда в проекте огромное количество модулей? До

этого момента мне казалось, что это идеальная структура, но сейчас возник момент, что в одних фичах захотели использовать компоненты из других фичей. Ну и пришла гениальная идея повыносить эти компоненты в :modules:components
У нас покомпонентый подход с щепоткой клина
Явно кто-то сталкивался с таким, что одни фичи начинают использовать другие, интересно, как разрешили эту проблему
p.s Я в своем пет-проекте так и сделал, но в продовом немного страшно

13 ответов

65 просмотров

:modules :my-awesome-feature :cool-api-client :very-useful-utils

Roman-Makeev Автор вопроса
Arkadii Ivanov
:modules :my-awesome-feature :cool-api-cli...

Ну да, вот у нас примерное так, токлько :cool-api-client и :very-useful-utils вынесены в :modules:services, чтобы отделять такое от фичей Спасибо

Roman-Makeev Автор вопроса
Roman Makeev
Ну да, вот у нас примерное так, токлько :cool-api-...

Ну вот для наглядности если что как в микро-пете у меня

Есть несколько возможных вариантов. Подробнее в этих статьях https://habr.com/ru/companies/cian/articles/670468/ https://habr.com/ru/companies/cian/articles/667776/

из за этого я использую другой подход)

Roman-Makeev Автор вопроса
Юрий Лещенко
из за этого я использую другой подход)

Другой подход это замечательно, но какой?

мы проблему "одни фичи используют другие" решили тем, что не считаем это проблемой) Пусть используют, жалко, что ли.

Алексей Ершов
мы проблему "одни фичи используют другие" решили т...

Если не выделять какое-то апи фич, то может ломаться инкрементальная компиляция модулей https://www.youtube.com/watch?v=fVp3dnpMYzs

Eugene P.
Если не выделять какое-то апи фич, то может ломать...

в большом масштабе и с длинным критическим путём компиляции этому надо уделять отдельное внимание, да

Roman-Makeev Автор вопроса

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

По-моему это не рекурсия, а циклическая зависимость)

Roman-Makeev Автор вопроса
Roman Makeev
Мне просто страшно что однажды может случиться рек...

Можно в этом случае и разрулить будет) На масштабе 500к+ LOC наверное ограничения на явное API модулей имеют смысл, как в статье циана

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта