Thursday, September 15, 2011

Я становлюсь старым

Чё то перестал я втыкать в эту IT индустрию абсолютно. На работе такой проект. Ну типа онлайн магазин. Проект в принципе вполне объяснимый с точки зрения общей логике. Сделан странновато, но не в этом суть. Пару лет назад сюда пришёл архитектор с большими "МОЗГАМИ" и взял разбил один проект на 40 проектов, которые соединяются вместе какой-то программкой, которая называется MAVEN. Это такая штука, которая по идее должна компилировать код и подготавливать код к размещению в интернете. Проблема в том, что под эту программку код должен разбиваться на папки, которые не имеют ни какой связи с той структурой как они будут размещены на сервере. То есть всё получается перемешано между 40 проектами, и невозможно абсолютно никак понять где окажуться эти файлы в тот момент когда проект будет загружен на сервер. Сама загрузка идёт 30 минут и управляется из командной строки. Все попытки загнать проект в какую-нибудь IDE вроде Eclipse и работать и оттуда не увенчались успехом. Собственно народ как я понял этого не делает и просто тупо загружает весь код на сервер и тестирует там через Remote Debuger. Проблема в том, что обновлять файлы на сервере штука по штуке не возможно. То есть нужно перебрасывать сразу весь проект и перезапускать на сервер. Это занимает минут 40. Как-то очень неудобно. При этом проект загружается на сервер как 40 jar архивов, и что внутри каждого архива хрен его знает. Читаю книжку про этот Maven и думаю какой дебил это придумал. Простецкая задаче скомпилировать файл, засунуть его в архив и отгрузить на сервер превратилась в какие-то танцы с бубнами. Динамика разработки стала такой медленной, что я просто впадаю в депрессию от того, что простейшие изменения в системе приходится делать в течении нескольких дней из-за того, что код так запутан, что непонятно где чего менять. Причём к этому Maven нужно ещё куча сопутствующих библиотек и побочных продуктов. Все они не работают после установки и их нужно настраивать, что описано крайне мутно в документации. И "лидеры рынка" в нашей местности помешены на этом Maven - его везде внедряют. Это обязательный навык, который спрашивают на интервью. Хотя на мой взгляд это просто чуча какая-то. Жуткая чуча. Индустрия дошла до такого уровня, что я просто её не навижу. Наверху тупорылые архитекторы с гигантскими понтами но без опыта какого либо практического кодирования, и амбициями заформализироать всё что можно, внизу быдло-девелоперы без всякой квафлификации. Окружают это всё мириады менеджеров, желающие раздуть штат и масштабы разрабокти до невиданных объёмов. Хочется тошнить.

4 comments:

  1. недавно перешли с JBuilder на Eclipse, этот Maven задрал своими сообщениями, отключил нах
    а нельзя в ant прописать зависимости и компилировать через ant?

    ReplyDelete
  2. прописать прописать зависимости и компилировать через ant можно, см. Ivy http://ant.apache.org/ivy/

    а вообще в каких случаях хорош maven прочитать можно прочитать здесь:
    http://www.apache-maven.ru/

    моё мнение управление зависимостями в Ivy реализовано лучше чем в maven

    ReplyDelete
  3. прописать прописать зависимости и компилировать через ant можно, см. Ivy http://ant.apache.org/ivy/

    а вообще в каких случаях хорош maven прочитать можно прочитать здесь:
    http://www.apache-maven.ru/maven_vs_ant.html

    моё мнение управление зависимостями в Ivy реализовано лучше чем в maven

    ReplyDelete
  4. Да мне уже не выбирать. Тут этот maven используется. Народ стонет, но сделать ничего нельзя. Архитектор который его "внедрил" свалил тихо из конторы в другое место ещё какой проект развалить. Меня не напрягали dependencies с использованием ANT. Ну время от времени нужно было делать upgrade. Так как это раз в год или даже два меня не напрягало делать это в ручную. Даже для hibernate или Spring. Я вот тут приценивался к Gradle. В отличии от ANT и Maven там нет XML.
    http://www.gradle.org/index.php

    Я как-то не очень понимаю, зачем вообще писать скрипты с использованием XML. Мне кажется это был единственный косяк в ANT. Нужно всё декларировать как XML и if/else/for слишком топорно реализовано. Gradle это поправил. А Maven это вообще "один большой косяк". Море XML да ещё и куча "подразумевающейся локики".

    ReplyDelete