Здравствуйте, kosmik, Вы писали:
K>Я видел компании, где далеко не суперкод работал годами (явно больше 4х лет), при том что рынок был более-или-менее конкурентным.
Можно подумать я не видел. Взять тот же Лотус Нотес. Плюются все, начиная от пользователей и заканчивая разработчиками, а сидят и продолжают жевать кактус. Ибо бабки уже куча народа потратила, деваться некуда. Признать свои ошибки для тех, кто эту систему покупал, выбирал и внедрял — означает распрощаться с неплохой должностью. Те же Oracle — я представляю какой капец у них творится сейчас в коде, если за такое количество лет не могут сделать, чтоб без плясок с бубнами можно было легко создавать базы. Тривиальная операция — нет, блин, обязательно лезть черти в какой конфиг, который меняется от версии к версии и ручками там прописывать.
Подсадили на себя кучу народа, неплохой маркетинг — и все, если ты начнешь сомневаться в том, что Oracle необходимо пихать абсолютно везде — 9 из 10 высокопоставленных менеджеров посчитают тебя некомпетентным. Ибо любой студент знает, что Oracle — это самая лучшая самая универсальная СУБД на все случаи жизни, которая решит абсолютно все проблемы, а кто в этом сомневается — тот недоучка. А Лотус — самая лучшая и самая удобная и безглючная система документооборота. Даже для базы с пятью таблицами и десятью тысячами записей абсолютно необходимо ставить самую дорогую версию Oracle!
Инерция, блин.
K>>Я видел компании, где далеко не суперкод работал годами (явно больше 4х лет), при том что рынок был более-или-менее конкурентным. E>Можно подумать я не видел. Взять тот же Лотус Нотес. Плюются все, начиная от пользователей и заканчивая разработчиками, а сидят и продолжают жевать кактус. Ибо бабки уже куча народа потратила, деваться некуда. Признать свои ошибки для тех, кто эту систему покупал, выбирал и внедрял — означает распрощаться с неплохой должностью. Те же Oracle — я представляю какой капец у них творится сейчас в коде, если за такое количество лет не могут сделать, чтоб без плясок с бубнами можно было легко создавать базы. Тривиальная операция — нет, блин, обязательно лезть черти в какой конфиг, который меняется от версии к версии и ручками там прописывать. E>Подсадили на себя кучу народа, неплохой маркетинг — и все, если ты начнешь сомневаться в том, что Oracle необходимо пихать абсолютно везде — 9 из 10 высокопоставленных менеджеров посчитают тебя некомпетентным. Ибо любой студент знает, что Oracle — это самая лучшая самая универсальная СУБД на все случаи жизни, которая решит абсолютно все проблемы, а кто в этом сомневается — тот недоучка. А Лотус — самая лучшая и самая удобная и безглючная система документооборота. Даже для базы с пятью таблицами и десятью тысячами записей абсолютно необходимо ставить самую дорогую версию Oracle! E>Инерция, блин.
Ну ты это, предложи топикстартеру переписать Оракл с нуля или зарефакторить его в крайнем случае.
SD>>PS: справедливости ради, у меня был аналогичный опыт. Правда, ничего никому переписывать не дозволили, так, поковырялись совочком в какашках, сверху натянули блестящую обертку и так прямо и продавали. Вроде ничего, жалобы были, решались в рабочем порядке. MM>Справедливости ради, ты не можешь знать, был ли у тебя аналогичный опыт. Если уж так хочется мериться, я участвовал в семи проектах, шесть из которых были внедрены. Четыре проекта имели гораздо более многолетнюю историю развития до моего прихода, в отличии от заваленного. Почему на этих четырех проектах мне не стреляло переписывать подсистемы, а только частичный рефакторинг? Вообще забавно. Считаешь, мне доставляет удовольствие копаться в коде другого программиста? Думаешь, мне нравится заниматься разгребанием говнокода и поиском решений, как поправить то, что изначально можно было написать правильно? Да ни капельки! Если бы мог, всегда держался бы подальше — больно надо париться.
Открою тебе один секрет. Это мало кому доставляет удовольствие. Однако люди работают а не кричат что они достойны большего (писать новый код с нуля).
SD>>Вот потому вы и программист. Причем, вижу, молодой. До 30 уж наверняка. SD>>Рассуждения вида "да я один весь в белом", максимализм в полной мере, желание померяться проектами (какое достижение — 7 проектов!!!). Хорошо хоть строками кода не меряетесь. Ну или количеством написанных юнит-тестов. MM>Если так трудно, я раскрою. Если код пишу я, то готов отвечать за него. Если код написал другой программист, и мне нужно исправить его баг, я тоже готов отвечать за это исправление. Если же я вижу баг, но руководитель не дает мне время на исправление, почему я должен отвечать за это?
В долгоживущих и больших проектах нету такого понятия как твой код, мой код. Тебе приходится менять существующий, ты дописываешь новую функциональность, тебе приходится вызывать уже существующую функциональность (в которой может быть баг) и т.д. Более того, авторы другого кода могут уже давно не работать в компании. Ну и юзерам пофиг чей это баг. Граница, в общем, размыта.
Ты так договоришь тут потому что привык писать много кода с нуля. Отвыкай от этого!
Здравствуйте, alexsoff, Вы писали: A>Тут палка о двух концах, в таком виде в котором проект сейчас сможет въехать любой студент, посади его, а через есяц он будет чувствовать себя королем, а я же хочу внедрить паттерны, что несомненно поднимет планку для вхождения.
Здравствуйте, Олег К., Вы писали:
M>>>Это не Д***софт Новосибирский случаем был? Проект Г***ая к***а? Впрочем, до них этим проектом кто только не занимался. E>>Нет, это вообще американский проект был. Хотя, сейчас посмотрел — еще жив, правда логотип фирмы давно уже другой . Интересно, дерьмо стали разгребать или нет ...
ОК>Так и живут. Большинство проектов в Штатах в подобном состоянии, плюс-минус.
Неужели настолько всё плохо ?
Здравствуйте, alexsoff, Вы писали:
A>Здравствуйте, Aviator, Вы писали: A>>Пропал проект... A>Давайте говорить за себя
Давайте на форуме каждый сам определится, что ему говорить.
Здравствуйте, Олег К., Вы писали:
MM>>Считаешь, мне доставляет удовольствие копаться в коде другого программиста? Думаешь, мне нравится заниматься разгребанием говнокода и поиском решений, как поправить то, что изначально можно было написать правильно? Да ни капельки! Если бы мог, всегда держался бы подальше — больно надо париться.
ОК>Открою тебе один секрет. Это мало кому доставляет удовольствие. Однако люди работают а не кричат что они достойны большего (писать новый код с нуля).
Гдя я написал, что предпочитаю не работать, и кричал, что достоен большего?
Здравствуйте, Олег К., Вы писали:
MM>>Если так трудно, я раскрою. Если код пишу я, то готов отвечать за него. Если код написал другой программист, и мне нужно исправить его баг, я тоже готов отвечать за это исправление. Если же я вижу баг, но руководитель не дает мне время на исправление, почему я должен отвечать за это? ОК>В долгоживущих и больших проектах нету такого понятия как твой код, мой код. Тебе приходится менять существующий, ты дописываешь новую функциональность, тебе приходится вызывать уже существующую функциональность (в которой может быть баг) и т.д. Более того, авторы другого кода могут уже давно не работать в компании. Ну и юзерам пофиг чей это баг. Граница, в общем, размыта.
Круто, но к чему это? Я задал конкретный вопрос. Ты готов ответить за тот проваленный проект? А че нет? Давай я кину тебе адрес конторы в личку и ты им возместишь убытки, а то "нету такого понятия как твой код, мой код" Я же почему возражаю взрослому SkyDrive-у. В его рассуждениях есть громадный изъян (это если забыть про телепатию): он исходит из того, что в жизни на все можно повлиять, а это не так.
ОК>Ты так договоришь тут потому что привык писать много кода с нуля. Отвыкай от этого!
Объясняю на пальцах. Было 7 проектов. Из них 4 были начаты не при мне. Из них 3, в которых я ничего не предлагал переписывать с нуля, и спокойно правил баги, и рефакторил, если это было необходимо для требований заказчика. 1(!) проект из тех четырех оказался полон дерьма. Где здесь привычка к написанию кода с нуля?
Здравствуйте, alexsoff, Вы писали:
A>а я же хочу внедрить паттерны
У тебя, походу, юношеский максимализм и видение окружающей среды в виде гвоздей.
Нет силы в паттерах, бро.
MM>Если так трудно, я раскрою. Если код пишу я, то готов отвечать за него.
Это, конечно, превосходно. Чем именно вы готовы отвечать? Зарплатой? Свободой (уголовная ответственность)? Жизнью? Если бы вы были готовы нести хоть какую-то ответственность, вы бы не писали ерунды на тему "не хочу отвечать за других". Конечно, не хотите, вы и за себя пока не можете.
MM>Смешно читать обвинение в желании померяться от человека, с первого поста принявшегося телепатить возраст.
Вы же меряться начали, не я. Возраст телепатить большого ума не надо, чем более радикальны и забавны суждения, тем возраст меньше. Да и e-mail ваш как бы намекает, да.
>>я плохо поступаю да? разве другие так не делают __> нужно обязательное разделение на области ответственности кода и процедура передачи этой ответственности. в своей области пиши как хочешь, но чтобы ничего чужого не сломалось. я вообще обычно не заглядываю в код, который мне лично нафиг не нужен.
Ну это у Вас проект такой. А если проект где писало много авторов и ты (т.е. Я) получаешься самый древний, а тут набрали народ новый, и новую версию заказчик захотел, и быстренько-быстренько наваяли нового кода с копипастом старого.
А потом происходит мега задача от заказчика — модернизация, переходим на юникод!!! Волей не волей что в процессе перехода нужно перекупаться во всём г-не. Уже кстати 2 недели барахтаюсь.
И ты понимаешь что надо рефакторинг этому богатству делать а делаешь косметику, потому что впереди непроходимые кучи.
Вот так бывает, думаю не только у меня.
Pzz>В большинстве случаев разработка софтвария ближе к марафону, чем к стометровке.
Не совсем. Я бы даже сказал, совсем не. Разработка софта больше похожа на серию стометровок. Победа в каждом очередном забеге серии (суть релиз очередной версии) дает бонусы и шанс участвовать в следующем забеге. Проиграв очередной забег, из соревнования вы чаще всего выбываете. До поддержки и развития проекта дело может банально не дойти, если вы проиграете первую же стометровку.
На каком-то этапе вы можете дать отдых натруженным мышцам (суть сделать рефаторинг "на будущее") — но если это приведет к поражению на этом этапе, вы можете вылететь из соревнования насовсем.
Pzz>Ну вообще-то, юзабилитей должны заниматься какие-то совсем другие люди, не программисты. Юзабилитя — это не кодирование формочек, а придумывание, что в этих формочках должно быть нарисовано.
Ого! Впервые встречаю такую юзабилити, которую просто придумали — и бац, она уже есть, и программистам не надо "кодировать формочки" На моей памяти, именно юзабилистские заморочки (особенно на вебе) выносили мозги программистам А вовсе не супер-пупер алгоритмы, для знания которых нужно аж целый день вчитываться в алголист.мануал.ру
Здравствуйте, alexsoff, Вы писали:
A>А что я тут не правильно сказал?
То, что код, который с втоей точки зрения "лучше", для поддержки сложнее, чем имеющийся...
A>Человек работающий с этим проектом не знает вообще ООП, не знает про интерфейсы, и уж не очевидно ли что если я ввиду любые ООП конструкции(что как бы подразумевает введение паттернов) это повысит планку для вхождения? обоснуйте свой ответ, а не кидайтесь г*ном сударь.
Во-первых, вовсе и не всегда интерфейсы и ООП уместны.
Во-вторых, чисто по моей практике, многие люди как-то странно ООП применяют.
Скажем многие пишут иерархии, анаогичные седующей:
Ну и вообще, обычно, чем код ЛУЧШЕ, тем он ПРОЩЕ. Проще, а не сожнее. И въехать проще, а не сожнее и т. д...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, alexsoff, Вы писали:
A>Если использовать стандарты, то даже скальпелем не убьешь.
К сожалению, это не так.
Единственна метода, которая даёт надежду на то, что действия будут удачными -- осознание того что и зачем и ради чего ты делаешь. Другого пути нет, стандарты -- это только небольшие подсказуи и направляющие. Реальность, особенно, если есть уже какой-то унаследованный код и пользователи, всегда сложнее правил...
SD>>Пишите уж лучше новый, раз существующий — существует и работает. Если им пользуются — не трогайте без необходимости. Совет из жизненного опыта. A>Только при условии, что я не буду за него отвечать.
Тут есть, как минимум, две противоположенные опасности.
1) Ты можешь просто не понимать, почему оно так написано. Может так оказаться, что архитектура не так уж и плоха. Скажем, система может сожержать относитеьно компактный framework + кучу writeonly кода, который пишется по конкретным каким-то запросам, и никоогда не поддерживается, а переписывается заново. Или ещё какой-нибудь хитрый сценарий может быть задействован. В общем может так оказаться, что быо сделано так, что любой студент мог легко добавить типичную фичу, а ты сделаешь так, что это станет сложной задачей, для грамотного инженера.
2) Всё реально плохо, код написан через одно место и всюду по случаю и непоследовательно. Тогда, наверняка никто не знает точно, как именно оно работает. Зато уже есть какие-то пользователи, сценарии, зависимый код или данные, и т. д.
И если ты начнёшь писать "правильный" код по спекам, то окажется, что он делает вовсе и не то, что надо пользователям...
В юбом случае ты попадаешь на удорожание поддержки, что не есть гуд.
Так что могу тебе дать такой совет. Прежде чем ломать, попробуй изучить, разобраться и понять, как поддерживать имеющийся код.
Потом что-то делай, только и исключительно ради каких-то прагматических и понятных целей.
Если у тебя мало опыта в разработке, то согласовывай цели + проноз стоимости их достижения с начальником.
перед этим выясни, сколь дорого обходиось достижение аналогичных целей в прошлом. Ты должен быть ДЕШЕВЛЕ, если ты ЛУЧШЕ...
Я так понял, что ни у кого, кроме тебя, нареканий на этот ко нет? И в целом он всех устраивает? Ну так ты не должен увеичивать риски и стоимость разработки, ради своего удобства...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском