@oop_ru

Страница 693 из 785
Sergey
23.06.2018
20:32:13
в итоге у тебя за время сильно меньше чем проект разрабатывался и поддерживался до хотят все то же что и было + пофиксить + больше фич

Да Да
сроки

если на перепись меньше полу года - то тогда проект маленький)

Google
Sergey
23.06.2018
20:33:45
опять же помимо размера/сроков реально интересует как бизнес отнесся к тому что новых фич он N времени не увидит

Дмитрий
23.06.2018
20:33:48
в итоге у тебя за время сильно меньше чем проект разрабатывался и поддерживался до хотят все то же что и было + пофиксить + больше фич
Это исключительно проблема коммуникаций. Если кто-то на менеджерских постах не имеет базового представления о разнице между апдейтом и рерайтом, то это беда отдельной компании

Sergey
23.06.2018
20:34:10
6 месяцев, 12 месяцев, больше, меньше

Это не обязательно
то есть перепись в том виде что действующую систему закрываем фасадом и переписываем по чуть-чуть?

Дмитрий
23.06.2018
20:35:24
А в системе что-то торчало наружу? А почему?

Sergey
23.06.2018
20:35:32
Дмитрий
23.06.2018
20:35:43
Как будто что-то плохое

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

Sergey
23.06.2018
20:36:31
что такое фасад в твоем понимании? и опять же что ты понимаешь под рерайтом?

Уди в качестве плохого примера приводит именно полностью новую систему + миграция со старой на новую. Пилится паралельно, не релизится пока не закончат

как крайность

Google
Sergey
23.06.2018
20:37:29
сравни то что делал ты с тем что описывает Уди как эталон неэффективности

и нарисуй различия если они есть

"не релизится" = не внедряется, бизнес все это время пользуется старой системой

и дополни циферками (не человекогоды а период времени)

Дмитрий
23.06.2018
20:39:21
"не релизится" = не внедряется, бизнес все это время пользуется старой системой
Если в проекте нет conditional compilation то можно вплоть до релиза влачить на старом коде

Sergey
23.06.2018
20:40:10
Если в проекте нет conditional compilation то можно вплоть до релиза влачить на старом коде
у тебя легаси на плюсах а ты хочешь фэнси джаву, о каком conditional compilation мы говорим?

Дмитрий
23.06.2018
20:40:34
То есть проект — монолит, так?

Sergey
23.06.2018
20:40:36
разные репозитории, вся команда пилит новый продукт по сути, старый просто не развивается

То есть проект — монолит, так?
легаси, у тебя только микросервисы/soa были?

Дмитрий
23.06.2018
20:41:05
У тебя неявные допущения построенные на твоем видении проблемы, что все разрабатывают софт так же

Sergey
23.06.2018
20:41:09
тип с нормальной декомпозицией? что ты рерайтил тогда?)

еще раз, у тебя под рукой легаси проект которому лет 7+

Дмитрий
23.06.2018
20:41:42
Это не верно, так как про твои проекты речь не шла

Sergey
23.06.2018
20:41:50
как ты думаешь, какова вероятность что там НЕ монолит, или что этот НЕ монолит разделен нормально?

Дмитрий
23.06.2018
20:41:50
Sergey
23.06.2018
20:42:17
Постарел на два года?
короч ингорирую тебя пока не ответишь на простой вопрос - сколько ты (команда) переписывал проект.

а ну и на всякий - фронтэнд или бэк или все?

Дмитрий
23.06.2018
20:43:28
Вечность. Я отказываюсь сводить диалог к рассмотрению моей трудовой истории, ты можешь начать со своих примеров, а не с меня

Потому что я подразумеваю что свои примеры ты понимаешь лучше чем мои не так ли

Google
Дмитрий
23.06.2018
20:45:40
И ещё, продуктивнее учиться на чужих ошибках

Это я к "предъявите ваш легаси"

Sergey
23.06.2018
20:48:22
мой пример - продукт начал пилиться в 2009-ом году, php, code igniter, запросы в html все как вы любите. В 2012-ом основная команда разбежалась, на поддержке остались 1-2 человека и так все было до 16-ого года когда продукт этот не достался нам. На тот момент "переписать с нуля" это был бы где-то год-полтора. Продукт на тот момент столько бы просто не протянул (если на момент 2009-ого года у него небыло конкурентов, то в 16-ом году были уже десятки). Все же здоровые продукты так легко не продаются и не меняют команду. Решение было - переписывать по чуть чуть. "микросервисы" и прочий рак. Опыта декомпозиции систем на сервисы у людей небыло. На тот момент я так же не имел права голоса в вопросах выбора стратегии "как мы будем это фиксить", да и меня с проекта быстро выкинули что бы не мешал. Итог - 2 года переписывания с плохого php на плохой php, хорошие идеи разбивались о скалы дедлайнов (едиственное что панель управления кастомеров на реакт перевели - и то хорошо), но в целом из-за херовой декомпозиции + херового планирования продукт по итогу умер

больше херовое планирование на самом деле)

еще один проект лично я заруинил в 13-ом году

по причине "не ну проще ж переписать"...

маленький был и глупый

так же не раз собеседовал людей с веселыми историями "решили переписать продукт а через 3 месяца почти всю команду утащили срочно фиксить старый продукт" в итоге балтались 2 версии обе херовые

это почти так же грустно как истории о том как люди 3 года пилили продукт который так и небыл зарелижен

Andrey
23.06.2018
20:55:07
Да, поэтому переписывание продукта с нуля - это утопия( На своём примере убедился.

Sergey
23.06.2018
20:56:28
А я в корне не согласен
Так с чем конкретно ты в корне не согласен? Есть ли у тебя позитивный опыт переписывания легаси проекта который: - старый - большой - тебя позвали просто потому что уже жопа

Дмитрий
23.06.2018
20:56:37
Именно

Sergey
23.06.2018
20:57:10
и до тебя 2 года единственные люди кто пытался что-то сделать, полтора-два джуна

Дмитрий
23.06.2018
20:57:24
Я тебе дописать дал, если что

Andrey
23.06.2018
21:07:31
Естественно переписать с нуля проще практически всегда, потому что ты учитываешь предыдущие ошибки и в целом опыт первой имплементации и не сдерживаешься лавиной застоявшихся проблем
Ну, только если ты разрабатывал до этого это приложение какое-либо внушаемое время. Иначе я уверен, что ты допустишь точно такие же ошибки.

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

Sergey
23.06.2018
21:08:46
Я просто не уверен, что есть люди, которые помнят причины каждого костыля в долгих проектах.
часто причины небыло, не знал, затупил, "завтра надо демо показывать"....

но да, хреново что далеко не всегда)

Дмитрий
23.06.2018
21:09:03
Пришёл на проект с многолетним комплексом застарелых проблем, работающий настолько медленно, что был заморожен. Меня позвали потому что я один из немногих кто разбирается в предметной области Получил карт-бланш на любые изменения под мою ответственность Первым же делом провёл массовую чистку, запрепроцессил под единый адекватный кодстайл, кодмодами трансформировал всё что трансформировалось и убрал всё что убиралось Слил разбитые репы в единый монорепозиторий, они по факту всё равно не были изолированными. Объединил с сохранением всех гит-историй, это реально Менеджмент не давил нереальными сроками Вся кодовая база подверглась пересмотру, всё, что расценивалось как мусор без сожаления отправлялось в утиль Первый mvp через месяц, прямо на костях старого проекта Каждая итерация оканчивалась коммитом с глобальным удалением старого буллщита Заменил бойлерплейт — бессмысленный но неизбежный код на кодмоды и препроцессинг при компиляции Реализовал полноценную непрерывную интеграцию, релизный коммит — каждый, проект не должен валяться в разобранном состоянии. Если есть подпроекты — они собираются и разворачиваются аналогично основному в том же ci. Упал билд — фиксим конкретную проблему, а не пилим остальное. Микросервисы — только со строгим апи, а не как обычно Да, апи теперь собирается программно, избавив людей от тонны головняка с его поддержкой Будущие фичи — под флагами, фичи для конкретного окружения — под флагами. Разработка — это не повод публиковать недодел. Как итог, резкая стадия релиза сменилась постепенной работой над каждой проблемой непосредственно и весь проект был обновлён в минимальные сроки

Andrey
23.06.2018
21:10:06
Пришёл на проект с многолетним комплексом застарелых проблем, работающий настолько медленно, что был заморожен. Меня позвали потому что я один из немногих кто разбирается в предметной области Получил карт-бланш на любые изменения под мою ответственность Первым же делом провёл массовую чистку, запрепроцессил под единый адекватный кодстайл, кодмодами трансформировал всё что трансформировалось и убрал всё что убиралось Слил разбитые репы в единый монорепозиторий, они по факту всё равно не были изолированными. Объединил с сохранением всех гит-историй, это реально Менеджмент не давил нереальными сроками Вся кодовая база подверглась пересмотру, всё, что расценивалось как мусор без сожаления отправлялось в утиль Первый mvp через месяц, прямо на костях старого проекта Каждая итерация оканчивалась коммитом с глобальным удалением старого буллщита Заменил бойлерплейт — бессмысленный но неизбежный код на кодмоды и препроцессинг при компиляции Реализовал полноценную непрерывную интеграцию, релизный коммит — каждый, проект не должен валяться в разобранном состоянии. Если есть подпроекты — они собираются и разворачиваются аналогично основному в том же ci. Упал билд — фиксим конкретную проблему, а не пилим остальное. Микросервисы — только со строгим апи, а не как обычно Да, апи теперь собирается программно, избавив людей от тонны головняка с его поддержкой Будущие фичи — под флагами, фичи для конкретного окружения — под флагами. Разработка — это не повод публиковать недодел. Как итог, резкая стадия релиза сменилась постепенной работой над каждой проблемой непосредственно и весь проект был обновлён в минимальные сроки
"проект был заморожен". Ключевая фраза твоего рассказа.

Google
Дмитрий
23.06.2018
21:10:28
Ты естественно в курсе, на какой срок?

Sergey
23.06.2018
21:11:08
Пришёл на проект с многолетним комплексом застарелых проблем, работающий настолько медленно, что был заморожен. Меня позвали потому что я один из немногих кто разбирается в предметной области Получил карт-бланш на любые изменения под мою ответственность Первым же делом провёл массовую чистку, запрепроцессил под единый адекватный кодстайл, кодмодами трансформировал всё что трансформировалось и убрал всё что убиралось Слил разбитые репы в единый монорепозиторий, они по факту всё равно не были изолированными. Объединил с сохранением всех гит-историй, это реально Менеджмент не давил нереальными сроками Вся кодовая база подверглась пересмотру, всё, что расценивалось как мусор без сожаления отправлялось в утиль Первый mvp через месяц, прямо на костях старого проекта Каждая итерация оканчивалась коммитом с глобальным удалением старого буллщита Заменил бойлерплейт — бессмысленный но неизбежный код на кодмоды и препроцессинг при компиляции Реализовал полноценную непрерывную интеграцию, релизный коммит — каждый, проект не должен валяться в разобранном состоянии. Если есть подпроекты — они собираются и разворачиваются аналогично основному в том же ci. Упал билд — фиксим конкретную проблему, а не пилим остальное. Микросервисы — только со строгим апи, а не как обычно Да, апи теперь собирается программно, избавив людей от тонны головняка с его поддержкой Будущие фичи — под флагами, фичи для конкретного окружения — под флагами. Разработка — это не повод публиковать недодел. Как итог, резкая стадия релиза сменилась постепенной работой над каждой проблемой непосредственно и весь проект был обновлён в минимальные сроки
1. то есть ты не "переписывал с нуля" а "чистил существующее". 2. заморозка проекта как бы намекает что в целом "бизнес" не умер без приложения. 3. в целом по результатам твоего "MVP через месяц" у тебя как бы просто почищенное старое приложение. ТО есть ты говоришь о глубоком рефакторинге нежели "переписать все с нуля"

Дмитрий
23.06.2018
21:11:17
Я переписал всё подчистую

Концепцию, подход, код

Sergey
23.06.2018
21:11:28
Я переписал всё подчистую
по итогу - да, но это было постепенно. Так?

Andrey
23.06.2018
21:11:34
Ты естественно в курсе, на какой срок?
Не, то, что ты можешь перписать говно любой сложности за короткие сроки - грац. Но рабочее приложение, и замороженное - 2 большие разницы.

Даже не большие - огромные!

Sergey
23.06.2018
21:11:49
ну то есть если приложение было заморожено 2-3 месяца а потом в целом его допиливали уже на живую - это одно. А вот заморозка на год - либо никому продукт не нужен либо и так норм

Admin
ERROR: S client not available

Andrey
23.06.2018
21:12:24
Ну, я не встречался с проектами, которые были разморожены и не требовали доделок по бизнес части больше недели.

Дмитрий
23.06.2018
21:12:35
Этим приложением пользовались уже после первого месяца

Sergey
23.06.2018
21:12:37
потому хотелось бы услышать у @ZeroBias сроки заморозки

Дмитрий
23.06.2018
21:12:46
Я не в инкубаторе жил, ес че, не натягивай

Sergey
23.06.2018
21:12:53
Этим приложением пользовались уже после первого месяца
вот, то есть это не "переписать проект с нуля" в том плане как это подает Уди

Дмитрий
23.06.2018
21:12:54
Sergey
23.06.2018
21:12:59
это то что он предлагает делать вместо

Дмитрий
23.06.2018
21:13:00
Много выводов сделали?)

Sergey
23.06.2018
21:13:20
я сделал много выводов

в частности что я не буду больше писать tldw

Google
Дмитрий
23.06.2018
21:13:45
Похлопаю

Я не вынуждал тебя вести такую дискуссию, отсутствие тлтр не поможет

Но допускаю что морально тебе конечно станет легче

Andrey
23.06.2018
21:14:45
Я не в инкубаторе жил, ес че, не натягивай
Ну, смотри. Реальная ситуация, которая возникла на прошлой неделе. Есть часть системы, которую начал рефакторить. А тут бизнес сказал, что нужны фичи и ниибёт. И тут и рефакторинг не закончен, и фичи нужны.

Sergey
23.06.2018
21:14:48
Похлопаю
еще раз - то что ты привел - это рефакторинг. Да по итогу все было переписано - но планомерно. Это охеренно важный момент. Бизнес получил улучшения уже через 3 месяца (два месяца на поиски тебя + месяц твоей работы).

Andrey
23.06.2018
21:14:57
И моя ситуация гораздо чаще встречается, чем твоя.

Дмитрий
23.06.2018
21:14:58
Пацаны, холиварить о смысле парадокса корабля тесея — это дно, завязывайте

Sergey
23.06.2018
21:15:20
ты не понял? Пользвались новым кодом, не старым
через месяц 100% когда было новым?

Andrey
23.06.2018
21:15:22
Да, я конечно послал бизнес в жопу на неделю, чтобы закончить рефакторинг, но это не суть.

Sergey
23.06.2018
21:15:33
или 20%

Дмитрий
23.06.2018
21:15:46
Попробуй представить себе промежуточные ситуации не противорчащие

Дмитрий
23.06.2018
21:16:03
То, чем пользовались люди было новым

Sergey
23.06.2018
21:16:05
я все, ты даже не пытаешься понимать разницу

это не про то что код новый или не новый

а про то что это не разработка продукта ПАРАЛЕЛЬНО

а эволюционное развитие

или ревалюционное если хочешь

Andrey
23.06.2018
21:16:43
В итоге сейчас у нас на фронте франкенштейн из вью и нокаута, но это не на долго.

Дмитрий
23.06.2018
21:16:44
Ага, естественно

А старый код наверное сам собой пропадал, и новые технологии создавались последовательно, в линеечке

Страница 693 из 785