|
|
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
RMagistr2015da17Предыдущие разы, просто переписывали все с нуля) Причем помню был один проект, его три раза переписывали, в течении четырех лет три разных команды. Ну это конечно полный Пэ, потратить 4-е года жизни и так и не дописать, нет лов от таких шикарных заказчиков )))) Где они живут, расскажите ))) проект кстати успешно заработал, проблема была в масштарбируемости, скорости работы и т.д. Одна версия была рабочая, но невозможно было поддерживать и все слишком медленно, вторую писали-писал и выкинули, начали писать заново и третья вроде успешно работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 01:34 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
RMagistr2015da17Предыдущие разы, просто переписывали все с нуля) Причем помню был один проект, его три раза переписывали, в течении четырех лет три разных команды. Ну это конечно полный Пэ, потратить 4-е года жизни и так и не дописать, нет лов от таких шикарных заказчиков )))) Где они живут, расскажите ))) почему же, для кого-то это - четыре года жить на хорошей зарплате в свое удовольствие и еще получать ценный опыт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 06:53 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
MasterZivRMagistr2015пропущено... Ну это конечно полный Пэ, потратить 4-е года жизни и так и не дописать, нет лов от таких шикарных заказчиков )))) Где они живут, расскажите ))) почему же, для кого-то это - четыре года жить на хорошей зарплате в свое удовольствие и еще получать ценный опыт... Покажите где эти заказчики )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 08:28 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
MasterZivRMagistr2015пропущено... Ну это конечно полный Пэ, потратить 4-е года жизни и так и не дописать, нет лов от таких шикарных заказчиков )))) Где они живут, расскажите ))) почему же, для кого-то это - четыре года жить на хорошей зарплате в свое удовольствие и еще получать ценный опыт... Тут не в этом дело было, команды менялись из-за смены руководства. Первая команда быстро запустила проект и начала зарабатывать, затем компанию купили, поставили своих управляющих. Старую команду убрали, оставили только пару-тройку человек на поддержку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 12:23 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
Хотя, если вспомнить, то помню как в одном НИИ одну систему лет 6 люди писали, причем тут действительно каждый год-полтора переписывали все заново и каждая из этих систем дальше испытаний не шла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 12:25 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
skyANAda17softwarer, все мы знаем как "по-хорошему", но тут речь, что делать когда уже "по-плохому" Рефакторинг/переписывание/расплатиться с техническим долгом... есть успешный опыт подобного рода вещей? Одно дело в книгах, другое на практике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 12:27 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
da17есть успешный опыт подобного рода вещей? Одно дело в книгах, другое на практике. Да, есть. У меня, среди прочего, есть опыт, который я крайне ценю - полной переработки приложения, которое при этом работало 24x365. Полной - в том смысле, что к концу работы из старого кода незатронутыми не осталось и двух процентов строк программного текста. Переработки - в том смысле, что внесённые изменения сразу же шли в продакшн, а не висели в ожидании светлого будущего, когда мы целиком заменим старую версию новой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 12:34 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
softwarer, и как все это делали? Параллельно все переписывали или меняли частями? Почему решили не переделывать все с нуля? У меня было два приложения, одно на 10 000 строк, тут изначально люди походили с планами "на долгую жизнь", так что за два месяца нарисовал все диаграммы, добавил нужный функционал и отправил в продакшн, второй раз тоже был модуль тысяч на 10-12, тут разбили на две части и всю логику переписали, без особых изменений в классах. Сейчас систему уже раза в два-три большего объема, которую писали разные люди, с разными подходами и разной степенью дисциплины(комментариев в некоторых местах очень и очень не хватает, много мервтого кода и т.д.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 14:01 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
da17softwarer, и как все это делали? Пришёл я однажды к начальству и сказал: я понимаю, что вы на эту хрень дышать боитесь, чтобы она окончательно не развалилась, но вот тут совсем задница, и я уже набрался достаточно нахальства, чтобы в неё лазить, поэтому предлагаю переписать вот это вот так. Получилось, стало получше. Внёс ещё несколько изменений. А там параллельно и у меня всё больше чесались руки, и у руководства разгорались и разгорались аппетиты. da17Почему решили не переделывать все с нуля? Самое главное - просто в голову не пришло Ну и никто бы мне этого не разрешил и не выделил бы ресурсов. Не говоря уже о том, что я на практике убедился, что риски такого вот аккуратного последовательного продвижения несравнимо ниже, чем у "а давайте всё сломаем и напишем с нуля". По сути, именно успех первых улучшений доказал, что стоит двигаться дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 14:36 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
softwarerdbpatchмало того, что цена межмодульных вызовов возростает многократно Если не доходить до идиотизма в микромизации, то эти расходы можно сделать приемлемыми, а возможно и оказаться в итоговом плюсе. . Мы живем не в идеальном мире, и чаще всего мотицация на подобные "структурые имзменения" продиктована как раз локальными искажениями сознания, вида - наш босс прочитал в CIO Magazine статью, что микросервисы - это престижно, уменшает TCO и увеличивает ROI, или ... программист-архитектор Вася решил поиграть в "новые" технологии и попробовать эдакое. В остальном - голова на плечах она для того, чтобы думать. Есть и реальные примеры, когда разукрупнение дает очень даже очевидные выигрыши. К примеру сервис аунтетификации об FB/VK/G+/etc - значительно проще поставить рядом сервер с HybridAuth на борту, и туда проксировать эти вызовы. Аналогично с модулями платежей - там иначе просто и не сделать. Но разбивать сильносвязанное приложение на отдельные не модули, но сервисы, если это все контролируется одной командой - это еще надо трижды подумать. softwarerdbpatchтак еще и порождается целый пласт новых проблем Как и пласт новых возможностей. Все имеет свою цену. Добавить новый слой сложности очень легко - а вот обслуживать его кто потом будет? softwarerdbpatchмониторить и деплоить монолитное приложение куда проще, чем следить за здоровьем тысяч микросервисов. Если добавить в "деплоить" условие "без прерывания обслуживания" - ещё вопрос, назовём так. ой, да ладно. в мире вебсервисов (а какие бывают еще?) вопрос деплоя без прерывания обслуживания давно решен за счет обратного proxy, в т.ч. и для внутренних соединений (haproxy, nginx - как без них?). softwarerdbpatchа какие ожидают прелести трассировки микросервисов (а поди собери трейс лог по десяткам нод в реалтайме) - это вообще неописуемо. Прелести есть везде. Просто для примера - давайте просчитаем сценарий "одна из операций снабжена устойчивой утечкой памяти" для случая монолитного приложения и для случая микросервисов. не нужно путать понятие "монолитное приложение" и "общая разделяемая куча". отдельная веб-сессия вполне может оперировать строго в рамках своей изолированной кучи, с периодическим отстрелом процесса для профилактики (см. архитектуру apache/php). ну потечет что-то, и что? время жизни сессии не более десятка секунд, и любой монитор моментально вычислит аномально вспухший PID и отстрелит его при случае, бояться подобного в наше время - даже как-то странно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 17:35 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
skyANAdbpatchпропущено... в общем случае эти все микросервисы такой-же тупик, как и микроядра. мало того, что цена межмодульных вызовов возростает многократно (три-четыре порядка, как минимум), так еще и порождается целый пласт новых проблем для DevOps - мониторить и деплоить монолитное приложение куда проще, чем следить за здоровьем тысяч микросервисов. а какие ожидают прелести трассировки микросервисов (а поди собери трейс лог по десяткам нод в реалтайме) - это вообще неописуемо.мой опыт показывает, что с теоретиками спорить - это долго и бессмысленно:) с тобой никто и не спорит, я лишь подчеркнул некую абсурдность твоих сугубо теоретических ссылок выше в контесте изначального вопроса топикстартера. абсурдность - он спрашивал про модульность, а ты зачем-то привел микросервисы. не знаешь или не понимаешь разницы? ок, попробуй даже сугубо теоретически распилить софт масштаба Office на микросервисы, ибо монолит-же, все плохо! обычно для наведения порядка в модулях вполне достаточно выделить пакеты, и разделить интерфейсы и реализацию, в любой среде есть та или иная реализация понятия package, описанного еще в IT-ном средневековье: https://books.google.com/books?id=AuMpAQAAMAAJ&redir_esc=y Глава 7 - вполне четко поясняет, чем Package отличается от Component и от Class (последний часто приравнивают к Module, особенно в мире Java/C++, из-за чего у программистов получается сдвиг в понятийном аппарате сущностей для управления сложностью) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 17:45 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
softwarerda17softwarer, и как все это делали? Пришёл я однажды к начальству и сказал: я понимаю, что вы на эту хрень дышать боитесь, чтобы она окончательно не развалилась, но вот тут совсем задница, и я уже набрался достаточно нахальства, чтобы в неё лазить, поэтому предлагаю переписать вот это вот так. Получилось, стало получше. Внёс ещё несколько изменений. А там параллельно и у меня всё больше чесались руки, и у руководства разгорались и разгорались аппетиты. da17Почему решили не переделывать все с нуля? Самое главное - просто в голову не пришло Ну и никто бы мне этого не разрешил и не выделил бы ресурсов. Не говоря уже о том, что я на практике убедился, что риски такого вот аккуратного последовательного продвижения несравнимо ниже, чем у "а давайте всё сломаем и напишем с нуля". По сути, именно успех первых улучшений доказал, что стоит двигаться дальше. микросервисы тут абсолютно ни при чем. просто кто-то взял и переписал изначально хрупкое и плохо спроектированное решение, говоря проще - получил knowledge ownership после увольнения такого единоличного переписывателя ситуация возвращается в первоначальное состояние - никто не понимает, как оно работает, все боятся изменений, и очередной сотрудник принимает стратегическое решение "все переписать, чтоб стало получше". стратегия в принципе верная, даже в строительстве реальных зданий и сооружений (железобетонных и прочих) иногда куда проще построить заново, чем пытаться угадать, не развалится ли вот это никак не документировованная постройка, если к ней вот приделать мансарду или веранду. или просто заменить канализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2017, 17:54 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
da17skyANAпропущено... Рефакторинг/переписывание/расплатиться с техническим долгом... есть успешный опыт подобного рода вещей? Одно дело в книгах, другое на практике. Есть на текущей работе. Также есть Amazon, Ozon... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2017, 01:00 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
dbpatchskyANAпропущено... мой опыт показывает, что с теоретиками спорить - это долго и бессмысленно:) с тобой никто и не спорит, я лишь подчеркнул некую абсурдность твоих сугубо теоретических ссылок выше в контесте изначального вопроса топикстартера. абсурдность - он спрашивал про модульность, а ты зачем-то привел микросервисы. не знаешь или не понимаешь разницы? ок, попробуй даже сугубо теоретически распилить софт масштаба Office на микросервисы, ибо монолит-же, все плохо! обычно для наведения порядка в модулях вполне достаточно выделить пакеты, и разделить интерфейсы и реализацию, в любой среде есть та или иная реализация понятия package, описанного еще в IT-ном средневековье: https://books.google.com/books?id=AuMpAQAAMAAJ&redir_esc=y Глава 7 - вполне четко поясняет, чем Package отличается от Component и от Class (последний часто приравнивают к Module, особенно в мире Java/C++, из-за чего у программистов получается сдвиг в понятийном аппарате сущностей для управления сложностью) ТС фактически спросил: кто на практике сталкивался с легаси монолитом и что делали? Я ему ответил: многие сталкивались, в том числе и мы. Распилили на части. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2017, 01:27 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
skyANA, что такое "части" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2017, 13:46 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
da17skyANA, что такое "части" ? куски ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2017, 13:50 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
Уважаемые, я уважаю вас всех личный опыт, однако ТС спрашивал про понимание всего у него имеющегося, а тут его подталкивают к переписыванию , когда не до того. К переписыванию в гордой уверенности, что дело доведётся до конца, а результат превзойдёт ожидания. Может модератор тему переименует? И я пойму, если ТС не захочет переделок. Мне достался десяток проектов, взаимоувязанных на уровне БД и исходников, отнюдь не монолит. Выше, упомянули 10 тыс строк? У меня сишки без комментов по 150 модулей/проект, среди них по 10-14тыс строк будут в 3-6 файлах/проект. Модуль здесь -- д'билдерная троица: dfm/h/cpp. К этому + пакеты БД + пара проектов в С#. Мелкие переделки/доработки постоянно, заставить переписывать дурных нет. ТС'у: если СБ закрывает вложения, так хоть текстовые примеры под спойлерами вряд ли запрещены, я такой паранойи ещё не видал, что-то здесь не так как на самом деле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2017, 16:16 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
exp98, у нас было 600 проектов в рамках одного солюшина. Если говорить терминами .Net. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2017, 20:54 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
da17skyANA, что такое "части" ? Был у нас один основной большой солюшн из шерстистая проектов. И пара маленьких. И вот разлетелся первый на части :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2017, 20:56 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
Простите мой планшет за опечатки.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2017, 20:57 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
exp98Уважаемые, я уважаю вас всех личный опыт, однако ТС спрашивал про понимание всего у него имеющегося, а тут его подталкивают к переписыванию , когда не до того. К переписыванию в гордой уверенности, что дело доведётся до конца, а результат превзойдёт ожидания. Может модератор тему переименует? И я пойму, если ТС не захочет переделок. Мне достался десяток проектов, взаимоувязанных на уровне БД и исходников, отнюдь не монолит. Выше, упомянули 10 тыс строк? У меня сишки без комментов по 150 модулей/проект, среди них по 10-14тыс строк будут в 3-6 файлах/проект. Модуль здесь -- д'билдерная троица: dfm/h/cpp. К этому + пакеты БД + пара проектов в С#. Мелкие переделки/доработки постоянно, заставить переписывать дурных нет. ТС'у: если СБ закрывает вложения, так хоть текстовые примеры под спойлерами вряд ли запрещены, я такой паранойи ещё не видал, что-то здесь не так как на самом деле. Меньшая проблема - разбивать или переписывать, большая проблема сделать сие чудище понятным для восприятия с прозрачным описанием архитектуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 07:36 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
RMagistr2015, какая такая архитектура, когда все запутано? В лучшем случае получится картина Маурицы Эшера :) А напомните, на чем у вас написано приложение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 08:01 |
|
||
|
Карта модулей приложения
|
|||
|---|---|---|---|
|
#18+
skyANARMagistr2015, какая такая архитектура, когда все запутано? В лучшем случае получится картина Маурицы Эшера :) А напомните, на чем у вас написано приложение? Это проблема не конкретного языка программирования, это проблема подхода в реализации приложения в частности есть 2-е системы, которые имеют с точки зрения проектирования ИС одну и ту же болезнь: 1) Клиентская часть на Delphi, серверная часть, все обработки и правила на t-sql и хранятся в MS-SQL 2) Oracle и Apex, почтито же самое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2017, 08:14 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39443794&tid=1340422]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 365ms |

| 0 / 0 |
