|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
mayton, Вот ты ляпнул как Стас про госты. В том числе международные. А как у вас заказчик договор заключает на производство ПО? Очень интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2021, 19:15 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
У меня - в основном зарубежные. Они по ISO-* работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2021, 19:18 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Вот ты выше сказал "пакет пухнет". Назови обратный процесс. Сохнет? Сдувается? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2021, 19:22 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
mayton У меня - в основном зарубежные. Они по ISO-* работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2021, 19:29 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp mayton, Вот ты выше сказал "пакет пухнет". Назови обратный процесс. Сохнет? Сдувается? Раздувается количество пакетов. Воинствующая безграмотность (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2021, 19:31 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, давай проявим уважение к автору и не будем флудить. Я знаю ты - любитель поговорить на свои темы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2021, 21:52 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
mayton, Пост же про архитектуру?)) Или есть другие мнения как ее строить? Я не вижу мнений. Кроме извини, безграмотного - госты не нужны. Ну, говорите, кто вам мешает то)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2021, 06:51 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Последние полгода на одном из своих проектов я перешел на необычный для меня концепт - package by feature . Суть его в том что мы не делим проект на пакеты типа model, dao, service, controller. Вместо этого мы делим их по фичам, и внутри фича-пакета у нас классы всех слоев. Пока я очень доволен - структура проекта отражает то что он делает, кол-во public классов уменьшилось, наверно, раза в 3. Однако проект пока скромных размеров (без тестов это 25 kloc на бэке), а на мелких проектах все подходы выглядят хорошо. Особенно интересно мнение людей которые уже сталкивались с таким. я не знал что это так называется и что такое есть - но я давно остоял свое решение по пакетированию у нас на проекте у меня оно как раз в рамках фичи,но фичи достаточно большой - чтобы она была удостоена отдельного пакета. Это супер удобно тем - что если у тебя на проекте хулирады репозиториев,сучностей и прочего - это не удобно идти в тот пакет общий и искать нужное тебе Гораздо удобней по фич пакету работать и в отладке и в разработке.Смысл держать все в одной бочке я не понимаю- ну да репозиторий пакет и там килотонны интерфейсов. По поводу публичности классов - ну это какой то пережиток уже наверно - что с того что твой класс будет не публичен? ты фреймворк пишешь или опасаешься что какой то мамкин хаклер твое пятирублевое приложение угонит? )так он и так угонит если захочет ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2021, 18:45 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
O_79_OПо поводу публичности классов - ну это какой то пережиток уже наверно - что с того что твой класс будет не публичен?1. Более быстрая компиляция. Когда проект 30kloc - эт не такая большая проблема, когда же он вырастает до 200kloc - тут уж начинает раздражать что для запуска модульного теста нужно сначала полминуты ждать компиляции. 2. Ускоряет/упрощает рефакторинги и поиски. Когда что-то переименовываешь, то IDE не путается и не начинает искать несвязанные с этим кодом куски/комментарии, в которых фигурирует такое же название. 3. Но самое главное - это упрощает чтение проекта. Видишь класс и сразу понимаешь - это внутренности текущего пакета, и глобального влияния он никакого не имеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2021, 19:19 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
mayton, итого, пакеты по фичам используют все отметившиеся прогеры. Иного подхода нигде не видно. Автора можно поздравить что он вернулся в лоно программистов. Вот такой вот флейм... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2021, 19:55 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev O_79_OПо поводу публичности классов - ну это какой то пережиток уже наверно - что с того что твой класс будет не публичен? 2. Ускоряет/упрощает рефакторинги и поиски. Когда что-то переименовываешь, то IDE не путается и не начинает искать несвязанные с этим кодом куски/комментарии, в которых фигурирует такое же название. 3. Но самое главное - это упрощает чтение проекта. Видишь класс и сразу понимаешь - это внутренности текущего пакета, и глобального влияния он никакого не имеет. что ж у вас там за проекты то) у нас монолитный огромный монстр и вроде не было такой проблемы,чтобы мы прям вот задумались о модификаторах доступа? а что разве модификатор доступа каким то образом влияет на быстроту компиляции? пс. я давно уже думал над тем что модификатор доступа хорош только для написания каких то либ или фреймворков,в каком то коммерческом проекте - я вообще хз зачем оно ? только если попониться- поставить protected и пусть потом джуны ,как петро,гадают что тут задумано было)) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2021, 19:56 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
O_79_O, ты в сторону не уводи топик)) ....ГОСТЫ выкинуть, public private protected - выкинуть)) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2021, 20:01 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
PetroNotC Sharp O_79_O, ты в сторону не уводи топик)) ....ГОСТЫ выкинуть, public private protected - выкинуть)) Введение в последних версиях Java language spec. новых типов "record" упрощает взгляд на ООП. Разумеется рекорды не отменяют ООП но они хотя-бы расширяют окно Овертона. Раз можно не делать private здесь - то почему-бы не обсудить private в других местах и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2021, 10:10 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
mayton, Не люблю в один топик все мешать. Ты уловил связь пакетов и уровня переменной классов? Я нет. 2. Нет ни кода ни примеров. Все кричат что нельзя без этого начинать топик. Ведь сутки выясняли у ТС что он сказал про "осколки домена") :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2021, 10:24 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
mayton, "Ближе к коду не выходя за тему! Тогда можно обсуждать" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2021, 10:26 |
|
Package by feature - подводные камни
|
|||
---|---|---|---|
#18+
Я думаю что ТС не даст кода. Ведь во первых в коде нет проблемы. А во вторых ТС делится положительным опытом использования методики. Ну и в третьих.... ну кто-ж тебе даст посмотреть продуктовый код? Вот и получается что можем только писать предположения. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2021, 10:36 |
|
|
start [/forum/topic.php?fid=59&msg=40090198&tid=2120377]: |
0ms |
get settings: |
19ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
329ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 439ms |
0 / 0 |