Если руки растут из жопы…

Когда не так давно я искал работу, мне бросилось в глаза то, что в объявлениях практически пестрят фразы «нужно знание Smarty», требуется умение работать с фреймворками (symfony, zend, etc), и так далее. Я тогда ещё думал – зачем?

Сейчас разбираю движок сайта писаного нам одной фирмой ещё до того, как я пришёл на эту работу (да и остальные прогеры-коллеги, думаю, тоже). Вообще пару слов по поводу двигателя. Это сборная солянка, иначе не скажешь. Как говорит мой начальник – есть два способа вырасти в глазах окружающих: первый это забраться повыше, второй – втоптать в грязь остальных. В общем-то, как я выгляжу в глазах окружающих меня волнует в последнюю очередь, потому с чистой совестью втопчу в грязь то, что приходится мучать ежедневно.

Итак, как НЕ НАДО писать движки для сайтов.

Во-первых. Не надо лениться чрезмерно – лень хороша в меру. Я понимаю, задача программистов той или иной фирмы – сделать продукт, который можно поскорее впендюрить покупателю. Это такой, распространённый подход на сегодня. Да и как иначе? Клиент хочет, чтобы ему сделали сайт за месяц. Приходится извращаться. В принципе использовать сторонние разработки можно и нужно (вот, к примеру, в той, что сейчас упала на мои плечи, используются: Smarty, DbSimple, JsHttpRequest, Prototype, FormPersister и некоторые другие). Но делать это требуется умеючи. Если вам лень писать собственный драйвер БД, то используйте какой-нибудь готовый. Но вот я не понимаю и не пойму, к чему использовать prototype одновременно с JsHttpRequest? Идиотизм, который порождает проблемы для тех, кто будет в вашей писанине потом разбираться. Не надо смешивать разные вещи, предназначенные для выполнения одного и того же. И вообще, сейчас существует отличная библиотека jQuery…

Во-вторых, для любой разработки крупнее 5000 строчек требуется стандарт оформления кода. Я такового стандарта не наблюдаю: писало сайт 5-6 программистов, каждый лепил код так, как хотел. Иной раз он вообще не читабелен.

В-третьих, заранее, ещё до разработки, надо продумать структуру директорий, которые будут составлять сайт. Её не продумали. Я наблюдаю копии одного и того же файла в 3-4 разных местах, Да что там… количество папок (1177) и файлов в CMS (23 000 +) говорит за себя. Плюс ко всему примерно 65% из этих файлов лежит мёртвым грузом, не выполняя никакой работы. Ребят, так не делают. Если у вас есть библиотечные файлы – скажем, драйвер БД, AJAX, шаблонизатор – хранить их надо так, чтобы в первую очередь было понятно другим разработчикам. В одной директории, а не в десяти разных.

В-четвёртых. Хорошая CMS должна, просто обязана, обладать понятной, модульной структурой. Здесь структура – не модульная, здесь есть обилие папок под каждый конкретный модуль админки, сайта, и в них – куча повторяющихся (чуть изменённых иной раз) файлов. В принципе опять же идиотизм.

В пятых – ООП при любой разработке здорово облегчает жизнь в первую очередь команде разработчиков. Оно позволяет распределить обязанности, решить проблему параллельного написания кода. Здесь оно использовано по минимуму. Основа движка – функции.

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

В результате солянка получается бездарной и скороспелой. Скажем, чтобы что-то изменить в админке или в отображении сайта, мне требуется от двух дней на пятнадцатиминутную правку. Почему так происходит? Нет, может быть я конечно не настолько опытный и крутой программист (да скорее всего оно так и есть, предела, как известно нет). Но мне кажется дело не столько в том, что я такой тупой, а в том, что кое-кто совершенно не знает принципов разработки приложений – как веб, так и любых других. Как говорила моя бабушка: «Не умеешь гвозди жопой дёргать, не срывай шляпки».

Кстати, название фирмы с испанского переводится как «Ветер». Видимо название отображает ту субстанцию, которая гуляет в головах отдела разработки вместо мозгов.

Автор

Алекс Разгибалов

Сумасшедший мужчина, неопределённого возраста, наслаждающийся манией преследования. Паталогически недоверчив, эгоистичен, авторитарен. Вторичные диагнозы - программист и поц. Владеет английским языком на уровне около хренового разговорного. Также знаком с некоторыми другими языками. Интересуется всем и вся, за счёт чего в любой области знания являются поверхностными, неглубокими. Характер невыдержанный. Крепость - 55 градусов.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Собирать идеально - не обязательно, просто приблизительно соберите картинку (должен быть включен JavaScript).WordPress CAPTCHA