Re[4]: Низкая квалификация работников
От: Олег К.  
Дата: 14.11.11 17:45
Оценка:
G>Может, все может быть.
G>А кто заставляет тебя принимать решения, к которым ты пока готов? Работодатель погнался за дешевизной или это твоя инициатива? В любом случае в такую ситуацию лучше не попадать. Мы вряд ли не видя кода сможем подсказать, а даже и если бы и видели, отвечать-то тебе.

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

P.S. Дешивизна тут не при чем. Дорогие програмисты тоже плохой пишут. Это просто говорит как хорошо человек умеет продавать себя.
Re[6]: Низкая квалификация работников
От: Олег К.  
Дата: 14.11.11 17:50
Оценка:
M>>Это не Д***софт Новосибирский случаем был? Проект Г***ая к***а? Впрочем, до них этим проектом кто только не занимался.
E>Нет, это вообще американский проект был. Хотя, сейчас посмотрел — еще жив, правда логотип фирмы давно уже другой . Интересно, дерьмо стали разгребать или нет ...

Так и живут. Большинство проектов в Штатах в подобном состоянии, плюс-минус. А ты бы в Штатах работать не смог, судя по заявлениям чуть выше.
Re[14]: Низкая квалификация работников
От: Олег К.  
Дата: 14.11.11 18:02
Оценка:
ОК>>Никто его не опускает и он таки неопытный. Ты только подумай. Топикстартер хочет с нуля переписать проект в который уже вложены деньги. О каком опыте тут может быть речь?
MM>Неопытный забил бы на всех давно. Человек совета пришел спросить, а ему вместо этого "в зеркало гляди", да на возраст пеняют.

Вообще-то ему дельные советы дают. Не переписывать ничего а работать в рамках текущей задачи и/или рефакторить по-немногу если есть возможность.

ОК>>Ладно этот проект маленький. А что бы он делал с проектом который существенно больше и дольше находится в продакшне?

MM>У меня был опыт проекта, в котором участвовал очень своеобразный разработчик. Он намного старше меня и более опытнее, должность тоже была круче. Когда я увидел его код, ужаснулся. Потом решил, может мне опыта не хватает. Потом я тоже приходил на RSDN за подобным советом. Меня выставили таким же дураком, не способным понять всей гениальности затеи... Однако, я тогда смог продавить переписывание модуля. Но то была лишь капля в море. И знаешь что в итоге случилось? Проект не приняли. Ага! Приложение просто не работало нормально, потому что тот опытный разработчик, которого я видите ли не понимал, писал код чертовски хреново. И когда пришло время проверять поделку не в дебаге, а с пользователями, последние офигели от количества недоработок, глупых ошибок и неустоучивости системы. Но я о таком результате говорил с самого появления на проекте. Но! Менеджер взвесил риски и решил не исправлять. Советчики с RSDN тоже подумали, что я шибко молод. И вот вам красноречивый итог.

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

То что ты говоришь это все знакомо. Большинство проектов так и работает и, повторюсь, нужно уметь работать с уже имеющимся кодом, нравится он тебе или нет.
Re[7]: Низкая квалификация работников
От: alexsoff Россия  
Дата: 14.11.11 18:39
Оценка:
Здравствуйте, Abalak, Вы писали:

A>А ты уверен, что туда надо тащить DI и покрывать тестами?

Ну вот на форуме дают советы не использовать юнит тесты.
Re: Низкая квалификация работников
От: minorlogic Украина  
Дата: 14.11.11 18:44
Оценка:
Начать с определения своей зоны ответственности.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[8]: Низкая квалификация работников
От: Abalak США  
Дата: 14.11.11 19:05
Оценка: -1
Здравствуйте, alexsoff, Вы писали:

A>Здравствуйте, Abalak, Вы писали:


A>>А ты уверен, что туда надо тащить DI и покрывать тестами?

A>Ну вот на форуме дают советы не использовать юнит тесты.

Зависит. Не стоит давать такие категорические советы. Если времени куча и функционал архисложный и команда толковая, то почему бы и нет? Но вот моя большая имха, что в куче проектов они нафиг не сдались.
Re[9]: Низкая квалификация работников
От: elmal  
Дата: 14.11.11 19:17
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Потому что проект маленький. Поэтому и можешь.

Вообще то, большой проект состоит из множества средних. Средние — из множества мелких. Всякие "глупости" вроде декомпозиции придумали довольно давно. При этом декомпозируют проект даже фирмы, где копипаст и костыли являются основными методологиями разработки. При этом даже модули, которые всего занимают 100 000 строк (копипастнутые, которые при нормальном коде легко сократить до 20 000) почему то на практике оказываются тоже говнокодом. А вот модуль из миллиона строк, который ну никак нельзя разбить на мелкие модули по 100 000 строк, я как то представить не могу. У меня уж на "маленьком" проекте порядка 20 модулей пока, например. И если они разрастутся, что ориентироваться станет тяжело — я каждый модуль без проблем в состоянии еще поделить. Пока необходимости нет, но о выделении еще нескольких модулей уже подумываю.
Re[9]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 14.11.11 22:16
Оценка:
SD>>Да, может. Особенно если паттерны бездумно применяются свеженьким выпускником ВУЗа, годков так 22-26. Как раз ваш случай.
A>Вот не нужно делать таких выводов вы мой бекграунд не знаете.

Так расскажите же, что у вас за опыт (кто такой бекграунд и почему его Ожегов не знает?).

A>Если использовать стандарты, то даже скальпелем не убьешь.


Вброс засчитан.

SD>>Пишите уж лучше новый, раз существующий — существует и работает. Если им пользуются — не трогайте без необходимости. Совет из жизненного опыта.

A>Только при условии, что я не буду за него отвечать.

Так и заявляйте начальнику. Впрочем... я вам открою страшную тайну, вы и так _ни за что_ не отвечаете. На вас никакой ответственности не налагается. Допустили баг — ну допустили, исправите. Все. Вас не лишат зарплаты (запрещено по ТК), у вас не отберут квартиру, вас в тюрьму не посадят. О какой ответственности вы вообще заявляете
Re[14]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 14.11.11 22:27
Оценка: +3 -1
MM>Неопытный забил бы на всех давно. Человек совета пришел спросить, а ему вместо этого "в зеркало гляди", да на возраст пеняют.

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

MM>У меня был опыт проекта, в котором участвовал очень своеобразный разработчик. Он намного старше меня и более опытнее, должность тоже была круче. Когда я увидел его код, ужаснулся. Потом решил, может мне опыта не хватает. Потом я тоже приходил на RSDN за подобным советом. Меня выставили таким же дураком, не способным понять всей гениальности затеи... Однако, я тогда смог продавить переписывание модуля. Но то была лишь капля в море. И знаешь что в итоге случилось? Проект не приняли. Ага! Приложение просто не работало нормально, потому что тот опытный разработчик, которого я видите ли не понимал, писал код чертовски хреново. И когда пришло время проверять поделку не в дебаге, а с пользователями, последние офигели от количества недоработок, глупых ошибок и неустоучивости системы. Но я о таком результате говорил с самого появления на проекте. Но! Менеджер взвесил риски и решил не исправлять. Советчики с RSDN тоже подумали, что я шибко молод. И вот вам красноречивый итог.


Заметьте — вы снова вините во всем кого угодно, только не себя. Вы ни на минуту не задумались, на кой ляд вы "продавили переписыывание модуля" вместо банального исправления ошибок и рефакторинга строго по месту (где требуется, а не где хочется оставить свой след). Виноваты все вокруг, кому вы рассказывали о том, какая плохая у вас система.

PS: справедливости ради, у меня был аналогичный опыт. Правда, ничего никому переписывать не дозволили, так, поковырялись совочком в какашках, сверху натянули блестящую обертку и так прямо и продавали. Вроде ничего, жалобы были, решались в рабочем порядке.
Re[3]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 14.11.11 22:31
Оценка:
A>Рефакторинг это понятно, а не будет ли так, что проще и дешевле переписать все с нуля.

Все зависит от проекта. Но в случае, если не меняется язык, фреймворки или вся технология разработки, таки дешевле рефакторить старый вариант.
Т.е. выполнить проект 10-летней давности на Java может быть быстрее, чем рефакторить зверский кросс-платформенный вариант "Си с классами". При условии, что проект небольшой.
Re[4]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 14.11.11 22:34
Оценка:
Pzz>А чем плох вялотекущий рефакторинг?

Какую цель имеет перед собой оный рефакторинг? Просто потратить время? Нанести проекту непоправимую пользу? А оно надо? Может, этот проект вообще не планируется развивать в том месте, которое зачем-то вялотекуще рефакторят.
Re[5]: Низкая квалификация работников
От: Pzz Россия https://github.com/alexpevzner
Дата: 14.11.11 23:05
Оценка:
Здравствуйте, SkyDance, Вы писали:

Pzz>>А чем плох вялотекущий рефакторинг?


SD>Какую цель имеет перед собой оный рефакторинг? Просто потратить время? Нанести проекту непоправимую пользу? А оно надо? Может, этот проект вообще не планируется развивать в том месте, которое зачем-то вялотекуще рефакторят.


Как и уборка помещения: 1) санитарно-гигееническую: поддержание в коде порядка 2) дисциплинарную: код, в котором убираются, вызывает меньшее желание в него срать
Re[6]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 14.11.11 23:29
Оценка:
Pzz>Как и уборка помещения: 1) санитарно-гигееническую: поддержание в коде порядка 2) дисциплинарную: код, в котором убираются, вызывает меньшее желание в него срать

Если вы пишете код ради кода, ваш подход имеет право на жизнь.

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

Потому как, еще раз объясняю, ресурсы, которые вы сегодня потратили на рефакторинг, конкуренты потратили на улучшение, например, юзабилити — и завтра их продукт покупают, а ваш — нет. И весь ваш рефаторинг оказался ненужным, потому что никто его так и не увидел.
Re[10]: Низкая квалификация работников
От: Олег К.  
Дата: 15.11.11 02:45
Оценка:
ОК>>Потому что проект маленький. Поэтому и можешь.
E>Вообще то, большой проект состоит из множества средних. Средние — из множества мелких. Всякие "глупости" вроде декомпозиции придумали довольно давно. При этом декомпозируют проект даже фирмы, где копипаст и костыли являются основными методологиями разработки. При этом даже модули, которые всего занимают 100 000 строк (копипастнутые, которые при нормальном коде легко сократить до 20 000) почему то на практике оказываются тоже говнокодом. А вот модуль из миллиона строк, который ну никак нельзя разбить на мелкие модули по 100 000 строк, я как то представить не могу. У меня уж на "маленьком" проекте порядка 20 модулей пока, например. И если они разрастутся, что ориентироваться станет тяжело — я каждый модуль без проблем в состоянии еще поделить. Пока необходимости нет, но о выделении еще нескольких модулей уже подумываю.

С этого проекта
Автор: elmal
Дата: 14.11.11
ты "свалил достаточно быстро."
Re[15]: Низкая квалификация работников
От: MxMsk Португалия  
Дата: 15.11.11 05:08
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Заметьте — вы снова вините во всем кого угодно, только не себя. Вы ни на минуту не задумались, на кой ляд вы "продавили переписыывание модуля" вместо банального исправления ошибок и рефакторинга строго по месту (где требуется, а не где хочется оставить свой след). Виноваты все вокруг, кому вы рассказывали о том, какая плохая у вас система.

Ага, про тот говнокод, о котором я когда-то спрашивал, мне тоже самое писали. История повторяется. Ну, конечно. Переходил кто-то дорогу на зеленый свет, и вдруг из-за угла вылетает машина и сбивает. Виноват прохожий, не иначе. Что сказать то хочу. Извини, но я приложил все усилия, чтобы спасти проект, вплоть до взятия на себя обязанностей более опытного и больше меня зарабатывающего человека, когда ведущий программист осознал куда катится проект. Я всегда готов отвечать за свои баги и ошибки, но за чужое разгильдяйство — нет уж.

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

Справедливости ради, ты не можешь знать, был ли у тебя аналогичный опыт. Если уж так хочется мериться, я участвовал в семи проектах, шесть из которых были внедрены. Четыре проекта имели гораздо более многолетнюю историю развития до моего прихода, в отличии от заваленного. Почему на этих четырех проектах мне не стреляло переписывать подсистемы, а только частичный рефакторинг? Вообще забавно. Считаешь, мне доставляет удовольствие копаться в коде другого программиста? Думаешь, мне нравится заниматься разгребанием говнокода и поиском решений, как поправить то, что изначально можно было написать правильно? Да ни капельки! Если бы мог, всегда держался бы подальше — больно надо париться.
Re[16]: Низкая квалификация работников
От: SkyDance Земля  
Дата: 15.11.11 05:27
Оценка:
MM> Я всегда готов отвечать за свои баги и ошибки, но за чужое разгильдяйство — нет уж.

Вот потому вы и программист. Причем, вижу, молодой. До 30 уж наверняка.
Рассуждения вида "да я один весь в белом", максимализм в полной мере, желание померяться проектами (какое достижение — 7 проектов!!!). Хорошо хоть строками кода не меряетесь. Ну или количеством написанных юнит-тестов.

MM> Считаешь, мне доставляет удовольствие копаться в коде другого программиста? Думаешь, мне нравится заниматься разгребанием говнокода и поиском решений, как поправить то, что изначально можно было написать правильно? Да ни капельки! Если бы мог, всегда держался бы подальше — больно надо париться.


Это все следствие предыдущего пункта, суть близорукости и неумения принимать ответственность (в т.ч. и за чужие баги и ошибки). Помноженное на нежелание разбираться в идеях других людей. В общем, классический молодой программист
"Жениться бы вам, барин!" (С)
Re[11]: Низкая квалификация работников
От: elmal  
Дата: 15.11.11 06:09
Оценка: 2 (2)
Здравствуйте, Олег К., Вы писали:

ОК>С этого проекта
Автор: elmal
Дата: 14.11.11
ты "свалил достаточно быстро."

Угу, и не жалею. Так как не работал в пустую, когда через год мне б сказали, что уже не надо. А тот мегапроект, кстати, к мелким относился, там всего мегабайт кода (если писать нормально и выдрать копипаст, то вообще килобайт 100 было б). Который запрещено нормально форматировать (форматирование лесенкой — машанина табов и пробелов), а тем более рефакторить. Я как то комсомольцем, который не может без трудностей, не являюсь. Как и не очень мне нравится, когда мою работу явно саботируют, вставляя палки в колеса. Лично мне не пофиг за что получать деньги. И если деньги платят, а я сам не понимаю нахрена, когда туж работу можно было в 10 раз быстрее выполнить, а так даж работа удовольствия не приносит постоянными маразмами — к черту эту работу. Все проекты дерьмо, везде говнокод — это тож самое, что говорить, что все бабы — меркантильные сучки. Не все, надо искать просто лучше. Да, сложнее найти работу мне в результате, признаю — зато когда нахожу, я ей оказываюсь доволен, и это тоже многого стоит.
Re[17]: Низкая квалификация работников
От: MxMsk Португалия  
Дата: 15.11.11 07:29
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Вот потому вы и программист. Причем, вижу, молодой. До 30 уж наверняка.

SD>Рассуждения вида "да я один весь в белом", максимализм в полной мере, желание померяться проектами (какое достижение — 7 проектов!!!). Хорошо хоть строками кода не меряетесь. Ну или количеством написанных юнит-тестов.
Если так трудно, я раскрою. Если код пишу я, то готов отвечать за него. Если код написал другой программист, и мне нужно исправить его баг, я тоже готов отвечать за это исправление. Если же я вижу баг, но руководитель не дает мне время на исправление, почему я должен отвечать за это?

SD>Это все следствие предыдущего пункта, суть близорукости и неумения принимать ответственность (в т.ч. и за чужие баги и ошибки). Помноженное на нежелание разбираться в идеях других людей. В общем, классический молодой программист

SD>"Жениться бы вам, барин!" (С)
Смешно читать обвинение в желании померяться от человека, с первого поста принявшегося телепатить возраст.
Смешно читать обвинение в нежелании разбираться от человека, который проигнорировал факт того, что это был единственный проект.
Re[7]: Низкая квалификация работников
От: Pzz Россия https://github.com/alexpevzner
Дата: 15.11.11 09:23
Оценка: +1
Здравствуйте, SkyDance, Вы писали:

SD>В большинстве же случаев код пишется для удовлетворения бизнес-потребностей, и мерилом его эффективности является соотошение затрат на написание с доходом от использования. Работать "на перспективу" можно только при четком понимании оной перспективы: если знать, что завтра вот тут придется добавлять такой-то новый функционал, то сегодня можно осуществить рефакторинг "рядом" с будущим функционалом.


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

В большинстве случаев разработка софтвария ближе к марафону, чем к стометровке. Никто не планирует написание программы с максимальной скоростью с целью ее выбросить через месяц и начать все заново. Даже пресловутая идея сначала написать прототип, а потом нормальную программу, в среднем кончается одним из двух: либо прототип объявляется нормальной программой и доводится до ума (а не переписывается), либо все списывается в утиль и проект закрывается. Стоимость развития и поддержки имеет значение, даже если вы не можете знать наверняка, взлетит ваш проект или нет.

SD>Потому как, еще раз объясняю, ресурсы, которые вы сегодня потратили на рефакторинг, конкуренты потратили на улучшение, например, юзабилити — и завтра их продукт покупают, а ваш — нет. И весь ваш рефаторинг оказался ненужным, потому что никто его так и не увидел.


Ну вообще-то, юзабилитей должны заниматься какие-то совсем другие люди, не программисты. Юзабилитя — это не кодирование формочек, а придумывание, что в этих формочках должно быть нарисовано. Если придумывать будут программисты, они вам такого напридумывают, что без мануала понять ничего будет нельзя. А если еще и мануал программисты напишут, то ничего понять будет нельзя и с ним

Так что содержание кода в порядке и юзабилитя — совершенно ортогональные вещи.
Re[8]: Низкая квалификация работников
От: kosmik Россия http://www.linkedin.com/in/kosmik
Дата: 15.11.11 15:58
Оценка: +2
ОК>>Не рухнет. Мой экспириенс говорит что и код с кучей г-на может жить десятками лет.
E>Жить то может. Вот только при наличии конкурентов мой опыт говорит, что через 4 года конкуренты начнут тебя догонять, если в проекте куча говна, а далее обгонять. Ну а если конкурентов нет, то да — может и 50 лет прожить.

Я видел компании, где далеко не суперкод работал годами (явно больше 4х лет), при том что рынок был более-или-менее конкурентным.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.