PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Опрос
Какой процент быдлокод-проектов у вас?
Для голосования и просмотра результатов опроса войдите или зарегистрируйтесь

> Описание: Философский вопрос о реалиях php-разработчика
Truedefiner
Отправлено: 24 Июля, 2018 - 21:32:57
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июль 2018  


Помог: 0 раз(а)




Добрый день, уважаемые форумчане. Около 10 лет работаю в сфере web-разработки.
И за это время я обнаружил ужасающую статистику - почти ВСЕ проекты в которых пришлось участвовать состояли из изрядной порции говно- и быдло- кода, написанного, почти что "школьником". И это не сайты-визитки, это серьезный коммерческие проекты!

Даже если в списке технологий гордо звучит "Laravel", "ZendFramework", или Yii2, то ВЕЗДЕ где я сталкивался, данный фреймворк используется только как реализация MVC, и дальше валидации параметров роута никто не углубляется (а нет, иногда прикрутят какой-то middleware, в качестве гигантского суперкостыля). А кое-где и вообще доходит до чуть ли не fileputcontents/filegetcontents прямо в контроллере, и работа с GET|POST там же.

Вместо ООП длиннейшие if-else. Вместо кучи удобных функций ORM... ну вы поняли, апдейт в цикле, и да, о транзакциях никто не слышал.

Проектирование структуры БД вообще никто не уделяет внимания, тем более оптимизации запросов.

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

Это я не говорю еще об angular, с которым иногда приходится сталкиваться, в котором "рельсы" не такие строгие, там вообще иногда достается трэш-угари-и-содомия.

А иногда многие вообще гордятся тем что "мы перешли на php 7.1!", - "какой 7.1, чувак?! У тебя один и тот же запрос в коде в каждой функции написан, с 15 подзапросами, который выполняется 20 секунд! Ну да, зато теперь ты в него из поста переменную вставляешь через null-coalescing оператор".

Зачем вообще на всех собеседованиях спрашиваю - "знаете ли вы что такое композиция?", очень хочется спросить: "а ты вообще когда её последний раз применял???".

И вот у меня назрел вопрос, а может это специфика "рынка php"? Может у программистов на других языках таких проблем нет (java, Perl, Ruby)?

Неужели если открыть код какой-нибудь игры bethesda, или код google-docs, там будет такой же набор костылей?

Где работают квалифицированные php-разработчики который и пишут тот код который можно найти в исходниках symfony, laravel?

Стоит ли искать такую работу?

Стоит ли вообще набирать такую квалификацию - расти в высоту в PHP, или забить на это дело и расти в ширину - изучать новые новые технологии каждую на 10% выучил и всё, пишешь в скилах что великий знаток, а дальше как-нибудь склепаешь?

Спасибо за внимание.
 
 Top
Мелкий Супермодератор
Отправлено: 25 Июля, 2018 - 11:41:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 11743
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 590 раз(а)




Truedefiner пишет:
пишут тот код который можно найти в исходниках symfony

А вы ковыряли исходники той же doctrine? Нещадно протекающие абстракции от того единственного, от чего эта штука должна была абстрагировать; query builder, написанный явно из предположения что у вас бесплатный и бесконечный CPU - имея уже готовую структуру запроса выкидывать её полностью, генерировать DQL и заново разбирать AST, чтобы по нему построить SQL и дать ещё раз его распарсить базе.
У самой symfony тоже можно понаходить странные вещи. Да ей и общей тяжеловесности в общем-то хватает.
Про laravel не помню, давно последний раз видел.

Truedefiner пишет:
Может у программистов на других языках таких проблем нет (java, Perl, Ruby)?

Я некоторое время назад случайно переквалифицировался в postgresql DBA и теперь встречаюсь со множеством разных проектов от кровавого java до хипстерского nodejs, от перла, питона и руби до go.
Со стороны работы с базой - совершенно никакой разницы. Одни и те же подходы и ошибки. Разница только в том, насколько всякое гвоздями прибитое orm мешает со своими внезапными фокусами.
Всякое orm - вообще отдельная боль. Сгенерированный запрос за 100мб размером, сожравший несколько десятков гигабайт RAM и вызвавший рестарт с OOM - это из практики. Коллеги говорят как-то и гигабайтный запрос видели.
А на одной конференции человек из зала порадовал историей, как не в меру умный orm сгенерировал рекурсивный cte. Без условия выхода из рекурсии.

У меня что-то около 7 лет в коммерческой разработке на PHP, квалификация уровня "не постесняюсь порыть исходники, включая исходники самого PHP". Переквалифицироваться не планировал, но не смог пропустить письмо лично от Максима Богук.
Есть ли жизнь в коммерческой разработке без костылей - сильно сомневаюсь. На любом языке.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB