@symfony_php

Страница 111 из 1418
Sergey
20.02.2017
16:14:52
чуваки, почему у Симфони такая убогая инфраструктура?

Алексей
20.02.2017
16:16:48


smile
21.02.2017
08:47:57
Всем привет. Был ли у кого опыт перехода в рамках большого легаси проекта на другой фреймворк, в идеале на Symfony? Что можете посоветовать? С какой стороны вообще заходить? Что можно почитать? Что имеется? - Самописная CRM на Codeigniter - Команда порядка 10 человек, из которых реально могут что-то делать 2-3 - Все чаще появляющиеся ответы - хз как отрабатывает тот или инной бизнес процесс - Большие классы-модели по 15к строк, в которых методы делают все, что душе угодно - База данных MYSQL с таблицами по 100 полей - Быстро изменяющиеся требования и функциональность проекта (чаще всего наростание функционала) Что нужно? - Слезть с иглы codeigniter и дальнейшего погружения в тлен - Оставлять проект в рабочем состоянии на время перехода - Иметь возможность проводить процесс перехода плавно т.к. нет возможности выделить большую команду и остановить всю разработку Буду благодарен любым советам, ссылкам, мыслям

Дмитрий
21.02.2017
08:53:23
у меня есть проект, аналитика для руководителей. Когда пришел в компанию начал писать без фреймворка, теперь жалею. Пытась перенести его на симфони, но времени не хватает :) При переносе на симфони, обнаруживаются ошибки, код ,который можно и нужно оптимизировать. Для себя переход вижу правильным направлением, но ведется параллельно с основным проектом.

Google
Daniel
21.02.2017
08:55:45
Всем привет. Был ли у кого опыт перехода в рамках большого легаси проекта на другой фреймворк, в идеале на Symfony? Что можете посоветовать? С какой стороны вообще заходить? Что можно почитать? Что имеется? - Самописная CRM на Codeigniter - Команда порядка 10 человек, из которых реально могут что-то делать 2-3 - Все чаще появляющиеся ответы - хз как отрабатывает тот или инной бизнес процесс - Большие классы-модели по 15к строк, в которых методы делают все, что душе угодно - База данных MYSQL с таблицами по 100 полей - Быстро изменяющиеся требования и функциональность проекта (чаще всего наростание функционала) Что нужно? - Слезть с иглы codeigniter и дальнейшего погружения в тлен - Оставлять проект в рабочем состоянии на время перехода - Иметь возможность проводить процесс перехода плавно т.к. нет возможности выделить большую команду и остановить всю разработку Буду благодарен любым советам, ссылкам, мыслям
А зачем 7 человек, которые не могут ничего сделать?

Ринат
21.02.2017
08:57:31
Откат

Big_Shark
21.02.2017
08:57:31
Всем привет. Был ли у кого опыт перехода в рамках большого легаси проекта на другой фреймворк, в идеале на Symfony? Что можете посоветовать? С какой стороны вообще заходить? Что можно почитать? Что имеется? - Самописная CRM на Codeigniter - Команда порядка 10 человек, из которых реально могут что-то делать 2-3 - Все чаще появляющиеся ответы - хз как отрабатывает тот или инной бизнес процесс - Большие классы-модели по 15к строк, в которых методы делают все, что душе угодно - База данных MYSQL с таблицами по 100 полей - Быстро изменяющиеся требования и функциональность проекта (чаще всего наростание функционала) Что нужно? - Слезть с иглы codeigniter и дальнейшего погружения в тлен - Оставлять проект в рабочем состоянии на время перехода - Иметь возможность проводить процесс перехода плавно т.к. нет возможности выделить большую команду и остановить всю разработку Буду благодарен любым советам, ссылкам, мыслям
Был опыт переезда с симфония на симфония 2

Ринат
21.02.2017
08:57:35
Мертвые души

smile
21.02.2017
08:58:28
скажем так, этот вопрос не в моей плоскости - но на сколько я понимаю и подводил к этому вопрос - они могут внести постоянно нужные изменения/дополнения хотелок в уже реализованный функционал за копейки. дешего и сердито

Vadim
21.02.2017
08:58:55
3 разработчика и макаки в общем

Alex
21.02.2017
08:59:48
начать нужно с создания AppKernel во всех точках входа (в идеале привести все к одной точке входа). Потом прикручиваем DI и начинаем выносить все в сервисы. Потом можно заморочиться с Request/Response. Дальше - куда душа ляжет

Sergey
21.02.2017
09:08:15
Всем привет. Был ли у кого опыт перехода в рамках большого легаси проекта на другой фреймворк, в идеале на Symfony? Что можете посоветовать? С какой стороны вообще заходить? Что можно почитать? Что имеется? - Самописная CRM на Codeigniter - Команда порядка 10 человек, из которых реально могут что-то делать 2-3 - Все чаще появляющиеся ответы - хз как отрабатывает тот или инной бизнес процесс - Большие классы-модели по 15к строк, в которых методы делают все, что душе угодно - База данных MYSQL с таблицами по 100 полей - Быстро изменяющиеся требования и функциональность проекта (чаще всего наростание функционала) Что нужно? - Слезть с иглы codeigniter и дальнейшего погружения в тлен - Оставлять проект в рабочем состоянии на время перехода - Иметь возможность проводить процесс перехода плавно т.к. нет возможности выделить большую команду и остановить всю разработку Буду благодарен любым советам, ссылкам, мыслям
берешь отдельные компоненты и решает проблемы. Смена фреймворка просто так не решает проблем а лишь замораживает разработку на хз сколько времени

например есть проблема - управление зависимостями. Ставишь какой-нибудь контейнер поудобнее и работаем дальше. Причем не переводим приложение полностью на него - а постепенно. Фичи ж надо пилить тоже

и главное при всем этом - тесты писать. Разобрался как работает кусок - покрыл тестами поведение.

пишешь что-то новое - покрыл тестами

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

ну и правило бойскаута - оставляй код который ты сейчас трогаешь чуть чище чем он был до тебя. Хотя без тестов это сложно)

Google
smile
21.02.2017
09:17:25
понятно - спасибо) Просто как раз таки этого сейчас и боимся, что начнем чтото делать и скатимся опять к легаси. Пока из всего что обсуждали мне твой вариант больше по душе т.к. он более плавный и из всего что нам предлагали чуваки с других проектов - это разбивать все на микросервисы(но тут мне кажется мы вообще все заруиним и прийдется искать другую работу :D) или делать "бридж" между двумя фреймворками. Но я не особо вижу как это можно совмещать с длительным процессом перехода и необходимостью попутно пилить фичи.

Sergey
21.02.2017
09:19:31
> это разбивать все на микросервисы это норм стратегия. Есть еще более клевый вариант. То же самое но без микросервисов. Ну или два микросервиса - старое приложение и новое.

профит - если не умеешь готовить микросервисы ты проиграешь

а так будет проще

хотя опять же вариант есть еще круче - тоже самое но вообще без разделения. Просто одно приложение монолитное

все те же идеи изоляции из мира микросервисов приминимы и для монолитов

только не надо страдать болью с распределенными системами

Denis denya Voskoboinik
21.02.2017
09:24:26
> это разбивать все на микросервисы это норм стратегия. Есть еще более клевый вариант. То же самое но без микросервисов. Ну или два микросервиса - старое приложение и новое.
Это типа новый функционал писать на новом фрейморке, а все данные которые нужны из старого кода получать по API? + понемногу переносить весь функционал на новый фрейморк?

Aleh
21.02.2017
09:26:04
что касается моделек опять же, ставите ту же доктрину и постепенно выносите логику в сущности

причем взаимодействие между частями как раз и получится как у "микросервисов", будет два bounded context которые никогда не будут работать в одной транзакции

ну т.е. eventual consistency

в идеале добавляйте сценарии на чем-то типа behat, но это только если есть с кем общаться из мира бизнеса, т.е. если есть кто-то, кто реально понимает кому в вашей приложеньке что нужно, какие они решают вашей приложенькой проблемы и как деньги на вашей приложеньке зарабатывают

> в идеале добавляйте сценарии на чем-то типа behat т.е. можно просто конечно доку составлять, но лучше с автотестами)

Aleh
21.02.2017
09:28:48
не

Sergey
21.02.2017
09:28:48
а так возможно стоит начать не с доктрины

Aleh
21.02.2017
09:28:51
старую не трогать

это ж больно

Sergey
21.02.2017
09:29:07
ну можно тупо заюзать row data gateway + active record

Google
Aleh
21.02.2017
09:29:12
ну вообще да

Sergey
21.02.2017
09:29:16
выйдет больше кода но зато можно очень быстро рефакторить

Aleh
21.02.2017
09:29:31
тут возможно так проще, если таблички реально ад и угар

smile
21.02.2017
09:29:42
таблички ад и угар полный

Aleh
21.02.2017
09:30:24
хотя с другой стороны можно мапить туда-сюда

smile
21.02.2017
09:30:25
пилили все как хотели и могли порядка 8 лет

Sergey
21.02.2017
09:30:42
таблички ад и угар полный
а вообще у тебя есть представление о том что в проекте хуже всего? или "плохость" равномерно распространена и нельзя выделить приоритетные участки?

хотя с другой стороны можно мапить туда-сюда
можно, тригерами и процедурами обратную совместимость налаживать

smile
21.02.2017
09:31:16
все равномерно плохо

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

Aleh
21.02.2017
09:31:39
хотя с другой стороны можно мапить туда-сюда
типа поняли как работает маленький кусок, какой-нибудь банальный тикет

Sergey
21.02.2017
09:31:39
все равномерно плохо
ок, тогда по другому вопрос поставлю. Фичи новые планируется? Баги возникают где-то? Есть более приоритетные баги?

smile
21.02.2017
09:31:43
еще год назад все все устраивало

Roman
21.02.2017
09:32:39
а что не устраивает теперь? зачем нужна Симфони?

есть ответ на этот вопрос?

Sergey
21.02.2017
09:33:00
вот я тоже не понимаю)

Denis denya Voskoboinik
21.02.2017
09:33:12
ну почему смена фреймворка ничего не меняет? Есть код - неконтролируемый и нетестируемы код, в октором уже никто не может разобраться.

Roman
21.02.2017
09:33:14
"я так понимаю руководитель проекта понял что мы катимся" - это же не причина

Denis denya Voskoboinik
21.02.2017
09:33:26
и никто не знает откуда прилетит баг

Roman
21.02.2017
09:33:33
ну так будет такой же новй код только на симфони

Google
smile
21.02.2017
09:33:33
сейчас не устаривает то, что все становится неконтролируемым

Denis denya Voskoboinik
21.02.2017
09:33:40
для этого проще переписать функционал

smile
21.02.2017
09:33:54
вносишь изменения в одно и думаешь что это ничего не затронет - а вылазит вообще в местах где никогда бы не подумал

Denis denya Voskoboinik
21.02.2017
09:33:54
зачем его снова писать на CI если мжно заюзать удобную симфони

smile
21.02.2017
09:34:14
и бывают случаи когда изменив мелоч - ты отваливаешь просто куски

Denis denya Voskoboinik
21.02.2017
09:34:49
почему?

smile
21.02.2017
09:35:07
сейчас в планах руководства разобрать весь функционал, определить что нам реально надо из всего что есть и что самое критичное и требует стабильной работы

Sergey
21.02.2017
09:35:11
почему?
потому что подавляющее большинство не умеет писать тестируемый и контролируемый код)))

Admin
ERROR: S client not available

smile
21.02.2017
09:35:22
т.к. всех начинает подхаривать то кол-во багов всплывающих на важных процессах, которое в последнее время резко возросло

Sergey
21.02.2017
09:35:24
а смена фреймворка похожа на имитацию бурной дейтельности. У вас не с фреймворкрм проблема а с кодом

сначала надо код подготовить к переезду

Denis denya Voskoboinik
21.02.2017
09:36:07
а если весь код нужно переписать?

то почему не сменить фреймор по ходу дела

Sergey
21.02.2017
09:36:24
а если весь код нужно переписать?
никогда не нужно переписывать ВЕСЬ код, всегда можно выделить приоритетные участки

Roman
21.02.2017
09:36:29
у нас есть проект большой, его начали два года назад переводить на симфони. врапнули весь код и заменяем частями. переносим логику в сервисы, переписываем работу з базой на репозы и доктрину но больше не заменяем а пишем новое, а старое просто поддерживаем

Sergey
21.02.2017
09:36:30
ну и опять же - добавляешь нужные компоненты

Vadim
21.02.2017
09:36:50
ох что-то мне прям знакомо это, кодгнитер, 8 лет, 100 полей на таблицу, но наверное это не то, о чем я думаю :)

Google
Sergey
21.02.2017
09:36:54
но просто взять и "а давайте перепишем все на symfony" это одно из худших решений которые можно предложить бизнесу

ну и в целом вообще у тебя должен быть хотя бы схематичный план того что должно получиться по итогу. Надо искать где границы модулей размыты, где надо изолировать... убирать магию и сайд эффекты

в целом может быть и стоит глянуть в сторону стратегии с микросервисами - постепенно копировать функционал в другую систему и сделать мосты между ними.... но это уже сильно сложнее

Denis denya Voskoboinik
21.02.2017
09:39:41
никогда не нужно переписывать ВЕСЬ код, всегда можно выделить приоритетные участки
приоритеты то выделить можно, но что если в теории нужно понемногу переписать все?

зачем делать полумеры, если можно наперед начать норм разработку

Ivan
21.02.2017
09:40:19
привет, подскажите, может есть либа для автоматического мапинга массива данных на такие объекты с аннотациями: /** * Document DTO */ class Document { /** * @var string */ public $code; /** * @var string */ public $title; /** * @var \DateTimeImmutable */ public $created; /** * @var Element[] */ public $elements = []; } /** * Element DTO */ class Element { /** * @var string */ public $name; /** * @var string */ public $content; }

Sergey
21.02.2017
09:40:23
приоритеты то выделить можно, но что если в теории нужно понемногу переписать все?
это не то же самое что сделать фичафриз и остановить бизнес на пол года. Так или иначе все будет переписано но не будет мешать бизнесу

Sergey
21.02.2017
09:41:17
Всем привет. Был ли у кого опыт перехода в рамках большого легаси проекта на другой фреймворк, в идеале на Symfony? Что можете посоветовать? С какой стороны вообще заходить? Что можно почитать? Что имеется? - Самописная CRM на Codeigniter - Команда порядка 10 человек, из которых реально могут что-то делать 2-3 - Все чаще появляющиеся ответы - хз как отрабатывает тот или инной бизнес процесс - Большие классы-модели по 15к строк, в которых методы делают все, что душе угодно - База данных MYSQL с таблицами по 100 полей - Быстро изменяющиеся требования и функциональность проекта (чаще всего наростание функционала) Что нужно? - Слезть с иглы codeigniter и дальнейшего погружения в тлен - Оставлять проект в рабочем состоянии на время перехода - Иметь возможность проводить процесс перехода плавно т.к. нет возможности выделить большую команду и остановить всю разработку Буду благодарен любым советам, ссылкам, мыслям
был опыт переезда с гавно-легаси на зенду 1ю и с 1й зенды на 2ю. поэтому советую 10 раз подумать чем такое делать)

когда вам предлагают микросервисы как панацею, можешь смеяться в лицо таким людям

Sergey
21.02.2017
09:41:39
зачем делать полумеры, если можно наперед начать норм разработку
потому что "переписать все" это вообще не решение проблемы.

Sergey
21.02.2017
09:41:41
они не знают о чем говорят

Sergey
21.02.2017
09:42:57
@fes0r пытался сделать такое)
и забил. Есть всякие автомэпперы

Denis denya Voskoboinik
21.02.2017
09:45:09
это не то же самое что сделать фичафриз и остановить бизнес на пол года. Так или иначе все будет переписано но не будет мешать бизнесу
ну а как ты относишься к такой стратегии: 1. Все новое пилить на Симфони и страться пистаь норм код и тесты пистаь сразу, потому что на старом пистаь нормально не получится. 2. В меру врмени по степени важности переносить новый функционал тоже на симофни с чистого листа. 3. Даннми обмениваться по API между двумя этими приложениями.

@sergey_smile чего вы вообще ожидаете от перехода на другой фреймворк?
я думаю что ожидается привести хаос кода в нормальный вид

и смыла это делать в том же месте -мало

Sergey
21.02.2017
09:45:46
приоритеты то выделить можно, но что если в теории нужно понемногу переписать все?
короч... моя мысль: Представь что у тебя есть проект и ты хочешь повысить устойчивость системы. Ты можешь потратить скажем 2-4 недели на устранение основных деффектов или 4 месяца на то что бы написать с нуля core функциональность. Второй вариант окупится через годик-два если за эти 4 года у тебя все клиенты не уйдут.

Страница 111 из 1418