metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-08-11 09:41 pm

Да что же сегодня за день такой

В ru_java пишут какие-то нелюдские ужасы то про абстракции логгеров, то еще про какие "паттерны" от которых голова пухнет, функциональная тусовка, похоже, коллективно решила подорвать мою трудоспособность, постами про насколько заебись все в ФП, DSL и прочих хаскело-окамлах, а долбаные клиенты выедают мозг мелочами вроде "забыли обновить прогу" или не-мелочами вроде "под цитриксом не работает устройство", хотя на самом деле устройство тут не причем, а змеи в виде System.AccessViolationException живут в коде расчета огибающей воспроизводимого звука, за каким-то хреном читающей числа не из managed буфера, а из памяти передаваемой мультимедия подсистеме.


Ибо возникает навязчивая идея заказчику в ответ на очередной присланный по почте одно-двухсловный тупизм(я так понимаю, у него проблемы с построением связных текстов на забытом русском языке) ответить что-нибудь вроде "идите в жопу с вашими мелочами, я ваш проект рефакторю, чтобы он не сдох окончательно", и занятся таки кодогенератором для GUI.

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

Проект, кстати, в болото ушел из-за двух вещей: 1) неправильного выбора технологии обмена с веб-сервисом ("готовый" SOAP оказался совершенно не совместим с идеологией, нужно было тупо руками наклепать restful-сервис и не мучиться с этим design-by-committee-говном) и 2) кривой реализацией xml-based DSL для описания GUI. В один прекрасный момент требования к gui разошлись с возможностями DSL, а я, вместо того, чтобы переосмыслить архитектуру и сделать по другому - решил добавить костылик в виде описания конечного автомата для GUI в этом DSL.

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

[identity profile] metaclass.livejournal.com 2009-08-12 06:22 am (UTC)(link)
Это еще не самый тяжкий кошмар.
Мы этот проект пытались передать "команде высокооплачиваемых аутсорсеров с охуенным знанием .net, uml, опытом разработки" и много других страшных слов. Короче, дали им сначала отрефакторить подсистему передачи файлов (там качаются файлики с сервера на клиент по 10-100 мб размером). Они не сделали ничего, они даже задание понять не смогли. Просто у людей не было опыта работы в ненормальных условиях, без спецификации и когда 90% требований нужно додумывать и потом примерять на будущее("что клиент захочет завтра").

[identity profile] jdevelop.livejournal.com 2009-08-12 10:04 am (UTC)(link)
о, про додумывание требований - это наш случай )