Comments 25
Будешь рефакторить старый код?
Я работал в компаниях, где слово «рефакторинг» — ругательное. Там было принято четко определяться, на что надо тратить время, и какие задачи это решает. Поэтому я привык что-то переделывать по мере поступления задач. Просто закладываю на них чуть больше времени и исправляю все, до чего дотягиваются руки, по ходу работы. Так ты вникаешь в проект, понимаешь задачи, и со временем код становится лучше. Мы будем понемногу переделывать некоторые части бэкенда, все-таки Yii 1.1 – заслуженный старичок; скорее всего на Symfony, ничего не имею против.
Во-первых, стоит уточнить что переписать с Yii 1.1. Он несколько устарел и поменять его, если и так есть необходимость переписать, нормально.
Причины переписать именно с фреймворком не связаны. Бэкенд состоит из множества сервисов, самые старые на Yii 1.1 и, как бывает, архитектура самих сервисов, которая изначально была нормальной, в изменившихся реалиях бизнес-процессов, становится не очень подходящей.
Yii 2.0 вполне подошёл бы, самое сложное там всё-равно совсем не про фреймворк, но так как некоторые сервисы уже на Symfony и у многих экспертиза именно в Symfony, было решено (ещё до моего прихода) не плодить зоопарк.
В далёком 2014-м участвовал в yii-бэкенде как разработчик одного из подрядчиков. Подумать только как разрослась команда за 3 года!
PS: Мой код будет выпиливать сам Александр Макаров. Я в экстазе! )))
Какой бэкенд проекта Yii2 на Symfony?
Так а в чём тут удар? Был 1.1. В принципе, и он работал нормально, но надо было обновлять. В компании было много людей с экспертизой в Symfony. Решили перелезть на Symfony. Логично вроде. Вот если бы взяли Yii 2 и он не подошёл бы или были бы проблемы с Yii 1.1, а не то, что его просто не поддерживают давно — тогда да. Был бы удар.
А на какой версии Symfony? Будете 4-ку внедрять?
Скорее нет, чем да. 4-ка только-только вышла. Опасно.
И ещё на митапе SuperJob был этот же доклад. Вот видео: https://youtu.be/EfL8lsUTlFo?t=1h27m44s
У Symfony идеология отличается прилично. На Yii можно делать очень просто и быстро, но и легко из за этого сделать плохо (лапшекод). На Symfony делать быстро и просто тоже можно (мы это сделали как-то на хакатоне, взяли второе место), но очень легко сделать слишком сложно (лазанья) и скатиться в J2EE (в плохом смысле). Одни compiler-pass и многоуровневое кеширование чего стоят...
Как бороться с лапшекодом знает практически каждый более-менее подкованный программист. Как бороться с переабстрагированием знают уже более опытные разработчики в то время как большинство не считает это проблемой.
Opensource нам строить и жить помогает: интервью разработчика Yii Framework Александра Макарова