Разработка сайтов в современную эпоху

Oct 29, 2011 09:49


На работе минула одна из наиболее напряжённых и при том наименее плодотворных недель. По-моему, это следствие чудовищно неправильного порядка уэб-разработки. Как она должна выглядеть в моём понимании?

  1. Сначала представитель заказчика и менеджер исполнителя садятся и составляют модель данных проекта, фиксирующуюся в виде текста и схем (схем, а не невнятных рисунков!).

  2. Потом программист разрабатывает базу данных, реализует логику вида и представления.

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

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

  5. (Безо всяких промежуточных загадочных пунктов.) PROFIT!!!

А как всё происходит в той реальности, которую мне довелось наблюдать?

  1. Дизайнер рисует дизайн. Насколько я понимаю, для этого его должны отяготить каким-никаким представлением о функционале сайта. Как всё это будет реализовывать программист, дизайнер не знает, так что его фантазию ничто не сдерживает (и не поощряет). (А ещё он зачастую бойко прибегает к решениям, которые в «Фотошопе» выполняются на раз, а от верстальщика требуют адской работы ради какой-то незначительной тенюшки, но тут, правда, последовательность действий не виновата.)

  2. Верстальщик берёт этот дизайн и тупо изготавливает макет. Тупо - потому что функционала сайта он тоже не знает, его ещё вообще никто толком не знает, не разработал.

  3. Программист садится реализовывать логику сайта и вот тут разворачивается настоящий баттхерт. С одной стороны, эта логика не согласуется с макетом, поэтому программисту приходится править вёрстку и даже дорисовывать элементы интерфейса (а если он и имеет художественные способности, времени на эту работу ему никто не выделяет; почему-то предполагается, что всё это должно возникать из ниоткуда, ведь дизайнер и верстальщик уже отработали!).

    С другой стороны, никто ему не может эту логику внятно изложить и хуже того - невнятное изложение меняется в процессе! Модель данных рождается в муках, в виде фрагментов в сознании заказчика, менеджера и программиста, в лучшем случае (к коему я бесчеловечно принуждаю проект-менеджера) - в виде исчёрканных листочков. Меняются названия, смысл и взаимоотношения сущностей. Безумие колышется в глазах программиста, когда одна и та же сущность именуется, например, заказчиком «пирогом», внутри фирмы-исполнителя «краскоэффектом», а по существу, в соответствии с новыми веяниями, является «эффектотоном» (и, соответственно, по-разному называется в базе, в серверном и клиентском коде).

Веселья добавляет допотопный, противоестественный PHP-движок. Когда начальство называет его «несовершенным» (разумеется, не в общении с клиентами), я нервно вздрагиваю. Давно я не испытывал такого ужаса, как в тот день, когда на вопрос начальства, почему в нём некая операция происходит неким образом, с неодобрением откликнулся «Об этом надо спрашивать у разработчика движка» и, услышав «Ты теперь разработчик движка», понял, что это и вправду так.

Даёт вот мне проект-менеджер задание: при добавлении некой записи чтобы была кнопочка, копирующая в не заполненные ещё поля данные из уже существующей. Задачка выполняется тривиально и за пять минут. Как-нибудь так, не сильно заморачиваясь:

var oldRow=Form.getRowById(id); $.each( oldRow.data, function(fieldName, field){ if(!Form.row.data[fieldName].modified) Form.row.data[fieldName].setValue(oldRow.data[fieldName].getValue()) } ); Form.renew();
Но всех этих объектов и их замечательных методов нет! Вообще нет никаких объектов, ни на клиентской, ни на серверной сторонах. Даже функций по существу нет, а те что есть - фиктивные, на самом деле именованные блоки кода (да, недалеко ушедшие от GOTO), полагающиеся на глобальные переменные. А вывод формы осуществляется единым кровоточащим куском кода, жуткой мешаниной PHP, Javascript, HTML и CSS, перестающей работать при неосторожном исправлении ошибок. Представив очередную хирургию этого куска под его жалобные вопли, я на вопрос, сколько мне потребуется времени соврал, сильно преуменьшив смутные ожидания, что полдня. Впрочем, и этим менеджер был столь потрясён, что задачу снял.

работа, Web-разработка, ужас, Web-программирование

Previous post Next post
Up