Yii2: Насколько new Query() и createCommand() являются признаком плохого кода?
Здравствуйте
Я еще зеленый джуниор, которому дали реализацию довольно сложного и навороченного функционала (20 связанных между собой таблиц, динамическая форма с ~100 параметров и т.д.), при этом задача была поставлена так, мол "ты сделай, мы посмотрим, если что, изменим".
Для работы с бд был выбор - или делать все объектами (но учитывая мой низкий опыт, и количество взаимосвязей - это для меня ад), или делать все через new Query() и createCommand() (когда нужно получить и записать информацию соответственно).
Был выбран второй вариант, из расчета, что когда все будет доделано со всеми правками - возьму время на рефакторинг и переделаю. Но, жизненный опыт подсказывает, что когда задача будет сделана в черновом варианте, появятся новые "срочные штуки", и код будет оставлен таким, как есть.
В этой связи у меня напрашивается вопрос - насколько new Query() и createCommand() являются признаками говнокода? Придется ли краснеть, когда этот код увидит другой программист, или можно будет сказать "и так нормально"?
В этой связи у меня напрашивается вопрос - насколько new Query() и createCommand() являются признаками говнокода? Придется ли краснеть, когда этот код увидит другой программист, или можно будет сказать "и так нормально"?
Применение не считается говнокодом, если оно действительно оправдано, оправдано ли оно у Вас в проекте известно только Вам.
Но, жизненный опыт подсказывает, что когда задача будет сделана в черновом варианте, появятся новые "срочные штуки", и код будет оставлен таким, как есть
Не надо рефакторить приложение полностью, надо рефакторить небольшими кусочками по мере работы над другими задачами. Так сказать делать код с которым Вы работаете немножко чище чем он был
Если используете Yii, то используйте плюшки Yii. ActiveRecord не просто так там придуман, удобен, прост.
new Query - для получения данных. createCommand для сохранения/изменения данных, и для нестандартных задач