Здравствуйте, J_K, Вы писали:
J_K>Чушь какая. Что за лексика, в самом деле? Почему сразу "прогнуться", "увольнение"? Дадут (время на пересмотр) как миленькие — ведь сами же понимают
Если так, то Вам повезло с руководством. В моей жизни в 98 году аккурат в октябре-месяце руководство как раз ничего не понимало и понимать не желало. Как и слышать слово "нет". Бывшие военные, причем повышенной тупости. Впрочем, это было одно-единственное место, да и выпало оно мне по сочетанию факторов моего салабонства и кризиса.
Здравствуйте, Miroff, Вы писали:
M>Здравствуйте, J_K, Вы писали:
J_K>>Дадут (время на пересмотр) как миленькие — ведь сами же понимают, что система будет трещать по швам, и очень скоро.
M>Ты кого пытаешься убедить, меня или себя?
Никого не пытаюсь убедить, а пересказываю разговор с техменеджером. Он сам подтвердил, что переходить на новый подход надо, а раз подтвердил, то значит и время выделит.
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
J_K>>>Дадут (время на пересмотр) как миленькие — ведь сами же понимают, что система будет трещать по швам, и очень скоро.
M>>Ты кого пытаешься убедить, меня или себя?
J_K>Никого не пытаюсь убедить, а пересказываю разговор с техменеджером. Он сам подтвердил, что переходить на новый подход надо, а раз подтвердил, то значит и время выделит.
Вся финансовая индустрия так держится а ты говоришь потонет.
ОК>>Ты не поверишь, но ты только что описал цикл жизни проектов которым 10-20-30 лет и над которыми поработали разные програмисты с разными квалификациями и где нет ни начальных разработчиков, ни документации зато есть сроки и "надо."
MTD>Ты работал на таких проектах? Я работал на больших проектах и не тонули они, хоть и капали в том числе и потому, что там студентам давали по рукам когда они начинали сбоку сарайчик возводить.
Работал. Иначе бы не писал. Костыли, хаки, подпорки, кривая архитектура, ненужные навороты, ненужные фичи, баго-фичи. Кучи разных зависимостей. Без танцев с бубном код просто не скомпилировать. И тем не менее это приносит деньги.
J_K>А кто кричит? Никто не кричит. А если кричит, то совсем другое, скорее "что делать, если на разбирательство в нашем фреймворке может уйти десяток человеко-дней, а на фичу дано всего две недели?!" Нафига они наобещали клиенту 2 недели, тоже вопрос конечно.
Ну что значит "разбирательство в фреймворке?" Обычно все-таки концентрируешься на какой-то конкретной задаче. Смотришь как сделанны подобные вещи. И с течением времени у тебя появляется представление как что-то работает, куда смотреть когда надо и т.д. А разбираться в вашем фреймворке досконально не вижу смысла.
L>Это назвается technical debt. Если бизнес заинтересован в своем успешном развитии, он должен стремиться к выделенному. Иначе technical debt будет накапливаться...накпаливаться.. пока в один прекрасный момент не окажется, что легче закопать, чем починить. У нас тут, кстати, многие банки в последние пару лет осознали, в каком дерьме они оказались. Впрочем, многие их клиенты имели "щастье" вживую наблюдать, во что в итоге выливается игнорирование технического долга.
Мне это напоминает речь того чувака с Голдмана где он рассказывает как Голдман нае...ает своих клиентов. Они всегда были в таком дерьме, есть и будут и тут они вдруг внезапно осознали об этом дерьме.
Никто и не вырывает.
J_K>А контекст таков, что новая функциональность должна быть добавлена быстро. Ключевое слово "быстро", понимаете?
А это всегда так.
J_K>Если использовать известные документированные фреймворки, такие, как KendoUI например, фича добавляется за 2 недели спокойно, и юнит тесты даже можно успеть дописать. Но если вникать в существующий код, на одно это только неделя уйдет, к тому же у меня большие подозрения, что наш крутой фреймворк не поддеживает все, что нужно реализовать, и, следовательно, придется, еще и фреймворк допиливать. Сегодня мы с этим разработчиком потратили почти час на реализацию маленького кусочка, потому что он сам уже не все помнит, что и как у него там сделано.
Ну не помнит и не помнит. Он что ли все должен помнить?
J_K>Дело совсем не в том, что мне неохота разбираться в существующем коде.
Ну мы поняли.
J_K>Дело в том, что это просто совершенно нецелесообразно.
Судя по твоему желанию все переписать, кода там немного. Было бы очень много кода, такого желания бы не возникло впервую очередь.
J_K>Фреймворк написан, но он не удовлетворяет наши потребности, он не гибок, в нем очень трудно разобраться, трудно использовать и т.д.
Скорее всего это так и есть но тем не менее с ним нужно уметь работать.
J_K>Ну это как если вы писали свой собственный jQuery, не документируя его, ничего, а потом обнаружили, что кто-то другой сделал такую же работу, но снабдил подробной документацией, вы будете продолжать грызть кактус только потому, что это уже сделано, что вы уже вложили время, ресурсы и т.д.? По-моему, это просто глупо.
Обычно код живет дольше чем ты этого ожидаешь. Некоторые проекты переписываются когда уже совсем не в моготу. Судя по тому что ты тут пишешь, этот момент еще не наступил.
Сейчас у тебя такое желание переписать все потому что 1) ты до этого работал только на новых проектах, 2) тебе не хочется разбираться в существующем коде и 3) кода не так уж и много. Иначе у тебя даже в мыслях не возникло бы все переписать.
J_K>С другой стороны, встраивание новой функциональности в обход существующего фреймворка хотя и целесообразно, но если делать это непродуманно, то в конце концов получится каша. Лично я за то, чтобы как следует продумать, как это можно сделать, сделать пару-троек (но не больше!) оберток, которые будут юзаться в дальнейшем, но времени на это тоже нет — сейчас. В этом и проблема.
J_K>Можете меня минусовать сколько хотите, но я считаю, что фреймворк, который написан без строки документации, примеров использования и т.д., должен быть выброшен на помойку. Человек, который пишет базу, т.е. фреймворк, должен всегда думать о том, как и кто его потом будет использовать. Говоря о том, чтобы писать в обход существующего фреймворка, имелось в виду, что не надо лепить новый фреймворк, а использовать имеющиеся, сторонные, хорошо документированные фреймворвки — например, помимо самопального, мы используем jQuery и KendoUI. Они для того и созданы, чтобы их использовать. Зачем нашему разработчику понадобилось писать все с нуля, я не знаю.
Что есть то есть. Программисты любят технические навороты воротить а не решать бизнес задачи. Однако это ничего не меняет. Этот ваш фреймворк ничем не отличается от любого другого прикладного кода. В нем надо уметь разбираться также как и в любом другом коде.
Здравствуйте, Олег К., Вы писали:
ОК>Работал. Иначе бы не писал. Костыли, хаки, подпорки, кривая архитектура, ненужные навороты, ненужные фичи, баго-фичи. Кучи разных зависимостей. Без танцев с бубном код просто не скомпилировать. И тем не менее это приносит деньги.
ОК>Чего я только не видел в общем.
Сочувствую, мне моя профессиональная гордость, не позволяет заниматься такими проектами неэффективно расходуя средства заказчика.
MTD>>На вопрос
ОК>>Работал. Иначе бы не писал. Костыли, хаки, подпорки, кривая архитектура, ненужные навороты, ненужные фичи, баго-фичи. Кучи разных зависимостей. Без танцев с бубном код просто не скомпилировать. И тем не менее это приносит деньги.
ОК>>Чего я только не видел в общем.
MTD>Сочувствую, мне моя профессиональная гордость, не позволяет заниматься такими проектами неэффективно расходуя средства заказчика.
Бред и ты все перевернул с ног наголову. Эти проекты от начала до конца такие и им не один десяток лет. Они живут и приносят деньги и я, в отличии от тебя, нос не ворочу и не кидаюсь таким напыщенными словами как профессиональная гордость.
MTD>>>На вопрос
ответишь? А то я не пойму, у меня глаз замылен?
ОК>>Да не горячись ты так. Сойдемся на том что это прозвучало как возможный вариант.
MTD>Момент ключевой — от человека который не в состоянии понять написанное вряд ли услышишь толковый совет
Момент ключевой — от человека который никогда не работал на сколь-либо более серьезных и долгих проектах вряд ли услышишь толковый совет.
ОК>Сейчас у тебя такое желание переписать все потому что 1) ты до этого работал только на новых проектах, 2) тебе не хочется разбираться в существующем коде и 3) кода не так уж и много. Иначе у тебя даже в мыслях не возникло бы все переписать.
Отчасти это так. Именно потому, что времени никогда нет, как вы справедливо заметили ниже, и не хочется тратить его на копание в самопальном фреймворке. Вернее, не то чтобы не хочется — просто не выйдет! Вот сами представьте — вам выделили на задачу две недели, и вы бы потратили на нее две недели, но надо разбираться в этом пресловутом фреймворке. Все то же самое можно быстро и легко реализовать используя например, связку KendoUI — jQuery — knockout, дерево там строится в две минуты, но нет. Надо сидеть и разбираться, как создать дерево с помощью самопального дерева, причем при полном отсутствии документации! Вот вы конкретно, что бы вы подумали — решили — стали делать в такой ситуации?
Что касается размеров фреймворка. Вы не представляете, но он огромен. Это просто монстр, в котором чего только не реализовано — там и наследование JavaScript, и разные события, и байндинг — все зашибись, видно, что писал гений (на полном серьезе), но как в этом разобраться без клочка документации — я просто не представляю.
Переписывать этого монстра желания нет никакого. Да и зачем??? Все уже сделано — достаточно заюзать jQuery, knockout, еще пару-тройку библиотек. Переходы и вызовы должны быть ясны и понятны. Когда слишком много байндится неизвестно где, отладка превращается в кошмар.
J_K>>С другой стороны, встраивание новой функциональности в обход существующего фреймворка хотя и целесообразно, но если делать это непродуманно, то в конце концов получится каша. Лично я за то, чтобы как следует продумать, как это можно сделать, сделать пару-троек (но не больше!) оберток, которые будут юзаться в дальнейшем, но времени на это тоже нет — сейчас. В этом и проблема.
ОК>А его (времени) никогда нет.
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Здравствуйте, Олег К., Вы писали:
ОК>Мне это напоминает речь того чувака с Голдмана где он рассказывает как Голдман нае...ает своих клиентов. Они всегда были в таком дерьме, есть и будут и тут они вдруг внезапно осознали об этом дерьме.
Хех. Судя по событиям последних лет, investment banking в принципе основан "обещай больше, кидай дальше".
А вот когда несоклько миллионов человек не могут воспользоваться своими счетами в течение двух суток из-за ошибки в софте или банкоматы перестают работать, причем все и сразу, то это начинает выглядеть уже несколько готично.
Да чего тут за примерами ходить — как вам банкоматы, которые требуют вводить сумму с точностью до центов, когда минимальная бумажка в них — 20 баксов, а монетки они вообще никогда в жизни выдавать не умели?