как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 08:03
Оценка: +1 -1 :))) :))) :))
И снова мне подкинули проект "совсем немного доработать".
Как только я услышал эту фразу, сразу закопошились нехорошие предчувствия. И они опять не обманули.
Код в лучших традициях подхода "меня укусил Гамма" — куча классов с одним методом, каждый вызывается строго через интерфейс и создается через абстрактную фабрику (при том, что у всех интерфейсов ровно по одному наследнику), визиторы, DSL на основе YAML, 30 пакетов с фреймворками непонятного назначения, и так далее.
Нормальной обработки ошибок нет, если что пошло не так — дохнет напрочь.
И всё это при том, что вся функция проги — периодически дергать страницу по HTTP, передавая ей аргументы из конфига, и если ответ не совпадает с заданным — дернуть другую страницу. Всё.

Теперь сижу, не могу определиться — ржать или плакать.
Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?
Отредактировано 22.02.2016 8:23 consign . Предыдущая версия .
Re: как доходчиво объяснить менеджеру?
От: velkin Удмуртия https://kisa.biz
Дата: 22.02.16 08:27
Оценка: -4
Здравствуйте, consign, Вы писали:

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?


А вы видели код не говно ?
Автор:
Дата: 12.01.13

В ИТ около 15 лет, был ~6 конторах, ни разу не слышал чтобы хоть раз чей-нибудь код называли хорошим, только и слышно здесь говно, там говно.
Даже нет у него в отличие от говнокода названия своего, там вареньекод, медокод.
Если знаете какой-нибудь опенсорс или есть свой код в интернете пришлите ссылочку посмаковать, хоть раз взглянуть на это чудо которое не назовут говном.

Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 08:38
Оценка: 1 (1) +2 -1
Здравствуйте, velkin, Вы писали:

V>А вы видели код не говно ?
Автор:
Дата: 12.01.13


Видел, но редко. Да и говно бывает разной степени ядрености. В каких-то проектах только в некоторых местах воняет, а где-то — одно сплошное говно.
Re: как доходчиво объяснить менеджеру?
От: andrey.t  
Дата: 22.02.16 08:42
Оценка: +5
Здравствуйте, consign, Вы писали:

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?


Не говори, что код — говно (на твой взгляд). Это сразу настраивает на негатив и твой собеседник встанет в позу даже если ты прав на 146%. Говори, какие есть возможности по улучшению функционала, покрытия тестами итд итп.
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 08:46
Оценка: +1 -2 :)
Здравствуйте, andrey.t, Вы писали:

AT>Не говори, что код — говно (на твой взгляд). Это сразу настраивает на негатив и твой собеседник встанет в позу даже если ты прав на 146%.


Это понятно.

AT>Говори, какие есть возможности по улучшению функционала, покрытия тестами итд итп.


Выбросить 90% кода, остальное переписать. Но не сработает — упрутся.
Re: как доходчиво объяснить менеджеру?
От: Andrew.W Worobow https://github.com/Worobow
Дата: 22.02.16 08:46
Оценка: +2 -3 :))) :))
Здравствуйте, consign, Вы писали:

C>Теперь сижу, не могу определиться — ржать или плакать.


Очень часто новые люди "смотряшие" старый код не учитывают, что это может быть "заготовка" под вырост. Ну это на ваше — "один метод в классе и прочее".
Также часто люди оценивают код не зная что тот код просто "заготовка".

Приходилось видеть ситуацию, причем с двух сторон "конфликта", когда один кричал "Что это за бред!", на вот такое :

#define _15_ 15

А другой объяснял что это просто недописанный кусок. И что далее надо эту константу как-то обозвать, но пока лень придумывать имя, так как сроки горят!
Не все кто уехал, предал Россию.
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 08:51
Оценка: +4 -1
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>Очень часто новые люди "смотряшие" старый код не учитывают, что это может быть "заготовка" под вырост.


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

AWW>Приходилось видеть ситуацию, причем с двух сторон "конфликта", когда один кричал "Что это за бред!", на вот такое :

AWW>#define _15_ 15
AWW>А другой объяснял что это просто недописанный кусок. И что далее надо эту константу как-то обозвать, но пока лень придумывать имя, так как сроки горят!

Это действительно полный бред. На объяснения он уже потратил больше времени, чем ушло бы на придумывание внятного имени.
Re[3]: как доходчиво объяснить менеджеру?
От: andrey.t  
Дата: 22.02.16 08:53
Оценка: +6 -3
Здравствуйте, consign, Вы писали:

C>Выбросить 90% кода, остальное переписать. Но не сработает — упрутся.


То есть у тебя нет причин для изменения кода кроме "оно говно"? Тогда менеджер будет прав на все 100, если не послушает такое объяснение.
Re[3]: как доходчиво объяснить менеджеру?
От: Andrew.W Worobow https://github.com/Worobow
Дата: 22.02.16 08:55
Оценка: +2
Здравствуйте, consign, Вы писали:

AWW>>Очень часто новые люди "смотряшие" старый код не учитывают, что это может быть "заготовка" под вырост.


C>Ежу понятно, что вся эта развесистая архитектура создана "под вырост".

C>Проблема в том, что
C>а) сделано много совершенно ненужного
C>б) не хватает нужного, и прикрутить его — крайне геморно

Если проект маленький, то возможно вы правы, а если большой то скорее всего вы просто не поняли "всех задачи".
Это нормально. Умение ясно объяснить задачи, так чтобы слушатель понял "все", довольно редкий скил. Обычно все тонут в словах, за которыми слушатель теряет мысль.

AWW>>Приходилось видеть ситуацию, причем с двух сторон "конфликта", когда один кричал "Что это за бред!", на вот такое :

AWW>>#define _15_ 15
AWW>>А другой объяснял что это просто недописанный кусок. И что далее надо эту константу как-то обозвать, но пока лень придумывать имя, так как сроки горят!

C>Это действительно полный бред. На объяснения он уже потратил больше времени, чем ушло бы на придумывание внятного имени.


Вы просто не сталкивались с ситуациями когда кодят в оставшиеся пять дней до срока сдачи, и так в течении двух недель до этого. Ну по 12 часов в день.
Не все кто уехал, предал Россию.
Re[3]: как доходчиво объяснить менеджеру?
От: UVV Великобритания  
Дата: 22.02.16 08:57
Оценка: +2
Здравствуйте, consign, Вы писали:

C>Ежу понятно, что вся эта развесистая архитектура создана "под вырост".

C>Проблема в том, что
C>а) сделано много совершенно ненужного
C>б) не хватает нужного, и прикрутить его — крайне геморно
Ты тоже 15 лет в ИТ? А чего нужного-то не хватает?

C>Это действительно полный бред. На объяснения он уже потратил больше времени, чем ушло бы на придумывание внятного имени.

Позволь не согласиться. Иногда на придумывание имени порой уходит времени больше, чем на написание куска кода. Имя должно быть понятным, оно должно отражать суть логического объекта и не всегда это лежит на поверхности.
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 09:01
Оценка:
Здравствуйте, andrey.t, Вы писали:

AT>То есть у тебя нет причин для изменения кода кроме "оно говно"? Тогда менеджер будет прав на все 100, если не послушает такое объяснение.


C>Проблема в том, что

C>а) сделано много совершенно ненужного
C>б) не хватает нужного, и прикрутить его — крайне геморно
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 09:04
Оценка: -1
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>Если проект маленький


Кхм, "если"? Вы вопрос вообще читали?

AWW>Вы просто не сталкивались с ситуациями когда кодят в оставшиеся пять дней до срока сдачи, и так в течении двух недель до этого. Ну по 12 часов в день.


Сталкивался и похуже. И когда такое происходит, это всё — один сплошной бред. Странно ожидать от людей, что они не наделают глупостей в таких условиях.
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 09:16
Оценка:
Здравствуйте, UVV, Вы писали:

UVV>Ты тоже 15 лет в ИТ? А чего нужного-то не хватает?


Таки да.
Не вдаваясь в детали — не хватает возможности передавать добавочный тип параметра — и чтобы его прикрутить, надо переделывать код минимум в 8 местах. Потому как параметры четыре раза конвертируются из одного формата в другой.
А потом надо как-то скормить данные последнего этапа библиотеке для работы с сервером (прямого доступа к HTTP нет, хотя используется всего лишь POST + JSON). А библиотека тоже очень развесистая, со своим DSL, не хухры-мухры. В общем, тут я и застрял пока. Потому что просто скормить ей JSON (который у меня уже есть) нельзя, а переводить это в ее хитротраханный DSL — ну, мягко говоря, непросто. И всё это, чтобы перевести его обратно в JSON

Черт, сколько бессмысленной работы

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


Придумай мало-мальски осмысленное имя, потом поменяешь.
Re: как доходчиво объяснить менеджеру?
От: smeeld  
Дата: 22.02.16 09:26
Оценка: +2 -1
Здравствуйте, consign, Вы писали:


C>Теперь сижу, не могу определиться — ржать или плакать.


Разобраться с кодом, безотносительно его качества, за это Вам деньги и платят. Работа не может быть приятной, та, за которую денег платят.
Re[2]: как доходчиво объяснить менеджеру?
От: UVV Великобритания  
Дата: 22.02.16 09:30
Оценка: +2
Здравствуйте, smeeld, Вы писали:

S>..Работа не может быть приятной, та, за которую денег платят.

Может =)
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 09:34
Оценка:
Здравствуйте, smeeld, Вы писали:

S>Разобраться с кодом, безотносительно его качества, за это Вам деньги и платят. Работа не может быть приятной, та, за которую денег платят.


Разобраться, в данном случае — это весь код на помойку и потратить день, чтобы переписать. Не дадут.
Re[3]: как доходчиво объяснить менеджеру?
От: smeeld  
Дата: 22.02.16 09:47
Оценка:
Здравствуйте, UVV, Вы писали:


UVV>Может =)


У фей индивидуалок. У остальных как повезёт.
Re[5]: как доходчиво объяснить менеджеру?
От: andrey.t  
Дата: 22.02.16 09:48
Оценка: +3
Здравствуйте, consign, Вы писали:

C>>Проблема в том, что

C>>а) сделано много совершенно ненужного
C>>б) не хватает нужного, и прикрутить его — крайне геморно

Пока единственная проблема, которую я вижу в этой теме, что тебе надо залезть в код, который не соответствует твоим представлениям о хорошем коде, и, разумеется, тебе как почти каждому нормальному разработчику не хочется с этим связываться, а переделать под себя. С другой стороны есть люди, которым до лампочки твое представление о прекрасном и которые больше переживают, что с водой и ребенка из ведра выльют. Вариант чтобы убедить и их и себя — найти цифры (объем исходников на диске, время работы проги, количество багов в трекере, сложность цикломатическую посчитать итд итп) и от этого отталкиваться при диалоге.
Re: как доходчиво объяснить менеджеру?
От: antropolog  
Дата: 22.02.16 09:49
Оценка: +2 -1
Здравствуйте, consign, Вы писали:

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?


сакраментальный ответ — а оно тебе надо? Или более развёрнуто — какие стратегические цели могут быть достигнуты таким объяснением? Сиюминутное удовлетворение чувства прекрасного и почёсывание своего ЧСВ? Вряд ли ради этого стоит воевать с двумя людьми. С другой стороны у тебя есть замечательная возможность за счёт работодателя прокачать критичный для разработчика скилл — уменее читать и понимать чужой ( пусть даже пахнущий ) код, а также наладить контакты с менеджером и чудо-программистом. Если во времени не ограничивают, то всё вообще прекрасно — можно обложить код тестами, провести рефакторинг, изучить сопутствующие библиотеки и тулзы, при этом переодически подзывая чудо-разработчика для объяснения тонких моментов, при этом нахваливая его какой он хороший охретектор. Таким образом ты будешь знать много чужого говнокода и поимеешь приятеля (гусары!), и когда в следующий раз тимлид уйдёт в другую компанию, тимлидом станешь ты, потому что знаешь весь говнокод на проектах и просто хороший парень. А тот умник, который предлагает всё переписать и называет окружающих говнокодерами так и будет пилить свой "совершенный код", факапя сроки и вызывая недовольство как менеджеров так и коллег-разработчиков.
Отредактировано 22.02.2016 9:50 antropolog . Предыдущая версия . Еще …
Отредактировано 22.02.2016 9:49 antropolog . Предыдущая версия .
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 09:59
Оценка:
Здравствуйте, antropolog, Вы писали:

A>сакраментальный ответ — а оно тебе надо? Или более развёрнуто — какие стратегические цели могут быть достигнуты таким объяснением?


Нежелание тратить время на бессмысленную работу.

A>прокачать критичный для разработчика скилл — уменее читать и понимать чужой ( пусть даже пахнущий ) код


С этим скиллом у меня и так всё хорошо.

A> пилить свой "совершенный код", факапя сроки


Ты поставил всё с ног на голову. Моя цель — решение задачи с минимальными сложностями. Продукт любителя "совершенного кода" и паттернов — это как раз то, от чего я хочу избавиться.
Re[3]: как доходчиво объяснить менеджеру?
От: antropolog  
Дата: 22.02.16 10:14
Оценка: +4 -3
Здравствуйте, consign, Вы писали:

C>Нежелание тратить время на бессмысленную работу.

переписывание это и есть бессмысленная работа. Осмысленная работа в данном случае — зафиксить баги в существующем коде.

C>С этим скиллом у меня и так всё хорошо.

тогда в чём проблема зафиксить код? Не знаешь где и как? А почему? Может всё-таки ещё есть куда стремиться в скилле?

C>Ты поставил всё с ног на голову. Моя цель — решение задачи с минимальными сложностями. Продукт любителя "совершенного кода" и паттернов — это как раз то, от чего я хочу избавиться.

я просто вижу очередного "реального" погроммиста, который вместо того чтобы разобраться в коде хочет всё переписать, и не осознаёт, что проект уже худо-бедно но работает, что существующая логика уже обрабатывает кучу нюансов, которых нет в документации и о которых тебе только предстоит узнать. Учись читать чужой код.
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 10:20
Оценка: +1 -1
Здравствуйте, antropolog, Вы писали:

A>переписывание это и есть бессмысленная работа. Осмысленная работа в данном случае — зафиксить баги в существующем коде.


Не в том случае, если переписать — быстрее, чем исправить существующий код.

A>тогда в чём проблема зафиксить код? Не знаешь где и как?


Знаю, где и как. На добавление мелкой фичи — десяток исправлений в разных местах.

A>я просто вижу очередного "реального" погроммиста, который вместо того чтобы разобраться в коде хочет всё переписать, и не осознаёт, что проект уже худо-бедно но работает, что существующая логика уже обрабатывает кучу нюансов, которых нет в документации и о которых тебе только предстоит узнать. Учись читать чужой код.


Точно. Не может быть, чтобы я знал свою работу. Только ты можешь знать всё лучше всех.
Re[5]: как доходчиво объяснить менеджеру?
От: antropolog  
Дата: 22.02.16 10:31
Оценка: -2
Здравствуйте, consign, Вы писали:

C>Точно. Не может быть, чтобы я знал свою работу. Только ты можешь знать всё лучше всех.

ох, ты бы сразу сказал что у тебя аккаунт на хабрахабре, я бы не тратил на тебя своё драгоценное время
Re[6]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 22.02.16 10:36
Оценка:
Здравствуйте, antropolog, Вы писали:

A>ох, ты бы сразу сказал что у тебя аккаунт на хабрахабре, я бы не тратил на тебя своё драгоценное время


У меня его нет, снова пальцем в небо.
И да — займись лучше своей крайне драгоценной работой по 2 килобакса в месяц.
Re[7]: как доходчиво объяснить менеджеру?
От: antropolog  
Дата: 22.02.16 10:46
Оценка: -1 :))
Здравствуйте, consign, Вы писали:

C>У меня его нет, снова пальцем в небо.

дартаньянство есть, отсутствие опыта есть, прийти за помощью и хамить всем подряд тоже есть, а аккаунта на хабре нет. Удивил.

C>И да — займись лучше своей крайне драгоценной работой по 2 килобакса в месяц.

милок, моё время стоило 2 килобакса в месяц примерно 12 лет назад, и ты тогда под стол пешком ходил.
Re[3]: как доходчиво объяснить менеджеру?
От: landerhigh Пират  
Дата: 22.02.16 11:36
Оценка: +8 :))) :)))
Здравствуйте, consign, Вы писали:

C>Разобраться, в данном случае — это весь код на помойку и потратить день, чтобы переписать. Не дадут.


И правильно не дадут, потому что знают, что "день" — это обычно где-то полгода
www.blinnov.com
Re: как доходчиво объяснить менеджеру?
От: pestis  
Дата: 22.02.16 13:02
Оценка: -1
Здравствуйте, consign, Вы писали:

C>Теперь сижу, не могу определиться — ржать или плакать.

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?

Честно признать что твоей квалификации недостаточно чтобы поддерживать этот код тебе религия не позволяет?
Re: как доходчиво объяснить менеджеру?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 22.02.16 13:06
Оценка: 2 (1) +2
Здравствуйте, consign, Вы писали:

C>И снова мне подкинули проект "совсем немного доработать".

C>Как только я услышал эту фразу, сразу закопошились нехорошие предчувствия. И они опять не обманули.
C>Код в лучших традициях подхода "меня укусил Гамма" — куча классов с одним методом, каждый вызывается строго через интерфейс и создается через абстрактную фабрику (при том, что у всех интерфейсов ровно по одному наследнику), визиторы, DSL на основе YAML, 30 пакетов с фреймворками непонятного назначения, и так далее.
C>Нормальной обработки ошибок нет, если что пошло не так — дохнет напрочь.
C>И всё это при том, что вся функция проги — периодически дергать страницу по HTTP, передавая ей аргументы из конфига, и если ответ не совпадает с заданным — дернуть другую страницу. Всё.

C>Теперь сижу, не могу определиться — ржать или плакать.

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?

Ты сам понимаешь все, что делает код?
Автор кода доступен, он может объяснить как он работает и что нужно поправить?
Есть ли тесты или другой способ быстрой проверки работоспособности?

Если ответ "нет" хотя бы на один вопрос, то о переписывании не думай, ты можешь на порядок ошибиться в оценке.

Предположим, что ответы на вопросы выше — "да". Тогда тебе нужна объективная оценка, чтобы разговаривать с менеджером.
Например чтобы поправить баги нужно разобраться в куске кода размером X строк, и поправить Y строк.
Переписать с нуля — ты оцениваешь в Z строк.

Средняя скорость чтения и понимания кода — 200 строк в час, скорость написания — 70 строк в час. Для переписывания стоит еще коэффициент Пи заложить.
Получится, что переписывать надо, если Pi*Z/70 < X/200+Y/70. Y — должно быть маленьким знанием, относительно X, иначе правка превращается в переписывание кода. Если взять, что Y не превышает 10% от объема проекта, то можно переписать в виде Pi*Z < 7*X/20 + 2*X/20 или Pi*Z < 9/20*X или Z < X/7.

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

Чтобы поговорить с менеждером — найди куски, которые можно сократить. Например выкинуть абстрактную и интерфейсы, убрать визиторы и напрямую вызывать функции. Если ошибки как раз в этих кусках, то получишь добро.
Re: как доходчиво объяснить менеджеру?
От: okon  
Дата: 22.02.16 13:27
Оценка:
Здравствуйте, consign, Вы писали:

C>И снова мне подкинули проект "совсем немного доработать".

C>Как только я услышал эту фразу, сразу закопошились нехорошие предчувствия. И они опять не обманули.
C>Код в лучших традициях подхода "меня укусил Гамма" — куча классов с одним методом, каждый вызывается строго через интерфейс и создается через абстрактную фабрику (при том, что у всех интерфейсов ровно по одному наследнику), визиторы, DSL на основе YAML, 30 пакетов с фреймворками непонятного назначения, и так далее.
C>Нормальной обработки ошибок нет, если что пошло не так — дохнет напрочь.
C>И всё это при том, что вся функция проги — периодически дергать страницу по HTTP, передавая ей аргументы из конфига, и если ответ не совпадает с заданным — дернуть другую страницу. Всё.

C>Теперь сижу, не могу определиться — ржать или плакать.

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?

Сначала надо убить в себе дартаньяна,
вот тут подробнее об этом эффекте обсуждалось http://rsdn.ru/forum/life/6354098
Автор: pitermann
Дата: 18.02.16



Потом подойти к коллеге чей код тебе кажется не такой как все и попросить помочь разобраться, расспросить о всех ньюансах, скажи что столкнулся с проблемой — программа иногда "дохнет напрочь", спроси как это можно подлечить с минимальными затратами.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re: как доходчиво объяснить менеджеру?
От: alpha21264 СССР  
Дата: 22.02.16 13:42
Оценка: +1
Здравствуйте, consign, Вы писали:

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?


Ну скажи, что не можешь вьехать, и тот, кто это наваял, пусть это и дальше поддерживает.

Течёт вода Кубань-реки куда велят большевики.
Re[4]: как доходчиво объяснить менеджеру?
От: alpha21264 СССР  
Дата: 22.02.16 13:44
Оценка:
Здравствуйте, andrey.t, Вы писали:

AT>То есть у тебя нет причин для изменения кода кроме "оно говно"? Тогда менеджер будет прав на все 100, если не послушает такое объяснение.


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

Течёт вода Кубань-реки куда велят большевики.
Re[2]: как доходчиво объяснить менеджеру?
От: alpha21264 СССР  
Дата: 22.02.16 13:46
Оценка: +3
Здравствуйте, pestis, Вы писали:

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


C>>Теперь сижу, не могу определиться — ржать или плакать.

C>>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?

P>Честно признать что твоей квалификации недостаточно чтобы поддерживать этот код тебе религия не позволяет?


Знаешь, тратить квалификацию на поддержания говнокода не стОит. Есть масса более интересных применений.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 22.02.16 13:57
Оценка: -1
Здравствуйте, alpha21264, Вы писали:

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


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


C>>>Теперь сижу, не могу определиться — ржать или плакать.

C>>>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?

P>>Честно признать что твоей квалификации недостаточно чтобы поддерживать этот код тебе религия не позволяет?


A>Знаешь, тратить квалификацию на поддержания говнокода не стОит. Есть масса более интересных применений.


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

вылечил от неизлечимой казалось всем болезни — звучит намного профессиональнее чем "поработал со здоровым клиентом болячек не нашел, проводил водные процедуры"
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re: как доходчиво объяснить менеджеру?
От: Faland США  
Дата: 22.02.16 14:28
Оценка: +1
Здравствуйте, consign, Вы писали:

C>И снова мне подкинули проект "совсем немного доработать".

C>Как только я услышал эту фразу, сразу закопошились нехорошие предчувствия. И они опять не обманули.
C>Код в лучших традициях подхода "меня укусил Гамма" — куча классов с одним методом, каждый вызывается строго через интерфейс и создается через абстрактную фабрику (при том, что у всех интерфейсов ровно по одному наследнику), визиторы, DSL на основе YAML, 30 пакетов с фреймворками непонятного назначения, и так далее.
C>Нормальной обработки ошибок нет, если что пошло не так — дохнет напрочь.
C>И всё это при том, что вся функция проги — периодически дергать страницу по HTTP, передавая ей аргументы из конфига, и если ответ не совпадает с заданным — дернуть другую страницу. Всё.

C>Теперь сижу, не могу определиться — ржать или плакать.

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?

Очень все зависит от того что за человек менеджер итп. Если видишь что скорее всего упрутся рогом и только испортишь отношения если будешь настаивать — то выхода два:
1) Медленно и не спеша, начиная с тестов — переделывать систему понемногу. Если там совсем немного — то может даже и переписать потихоньку.
99% контор и менеджеров никогда не выделяют времени на рефактиринг и переделки, так что приходится выкручиваться самому, понемногу улучшая систему на ходу.
Да, тяжело, но экспириенс рефакторинга отличный. А постфактум вам скорее всего только спасибо скажут, когда увидят что все уже сделано и работает на 5+.
Если будут настаивать на том что все было правильно а вы дурак — см №2.
2) Найти другую работу.
Re[2]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 22.02.16 14:59
Оценка: -1
F>Очень все зависит от того что за человек менеджер итп. Если видишь что скорее всего упрутся рогом и только испортишь отношения если будешь настаивать — то выхода два:
F>1) Медленно и не спеша, начиная с тестов — переделывать систему понемногу. Если там совсем немного — то может даже и переписать потихоньку.
F>99% контор и менеджеров никогда не выделяют времени на рефактиринг и переделки, так что приходится выкручиваться самому, понемногу улучшая систему на ходу.

Если рефакторинг за свой счет то такой вариант возможен, если в рабочее время то не надо. Вы тратите чужие деньги на то , на что вас не просят. Если код который вам не дает спать будет мешать работе бизнеса то задача на его рефакторинг или доработку сама появится и опять же ваша задача не переписать все а решить проблему как можно быстрее и дешевле, ведь бизнесу не нужно решение проблемы на все случаи жизни ( до которых бизнес может и не дожить ), ему нужно конкретное решение чтобы как можно быстрее и дешевле сделать 1 шаг вперед на рынке.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[5]: как доходчиво объяснить менеджеру?
От: nen777w  
Дата: 22.02.16 16:00
Оценка:
AWW>>Вы просто не сталкивались с ситуациями когда кодят в оставшиеся пять дней до срока сдачи, и так в течении двух недель до этого. Ну по 12 часов в день.
C>Сталкивался и похуже. И когда такое происходит, это всё — один сплошной бред. Странно ожидать от людей, что они не наделают глупостей в таких условиях.

Я вот недавно в одном открытом проекте фиксил багу, запилил константу с идентификатором абсолютно чёрной текстуры IMG_BLACK_SQUARE_MALEVICH
Re: как доходчиво объяснить менеджеру?
От: Sealcon190 Соломоновы острова  
Дата: 22.02.16 18:00
Оценка:
Здравствуйте, consign, Вы писали:

Начать следует с ТЗ.
Если ТЗ отсутствует, то надо поставить вопрос о его составлении.
После прочтения ТЗ может вдруг оказаться, что ничего лишнего в коде нет.

Имея в одной руке ТЗ, в другой сам код, можно уже предметно подготовиться к разговору с менеджером и аргументированно обьяснить, что и почему следует выбросить, что добавить, а что переделать.
Re[4]: как доходчиво объяснить менеджеру?
От: alpha21264 СССР  
Дата: 22.02.16 19:08
Оценка:
Здравствуйте, okon, Вы писали:

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


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


P>>>Честно признать что твоей квалификации недостаточно чтобы поддерживать этот код тебе религия не позволяет?


A>>Знаешь, тратить квалификацию на поддержания говнокода не стОит. Есть масса более интересных применений.


O>А в чем еще квалификация проявляется, когда все легко и просто тогда и квалификация не нужна

O>профессиональный врач любит работать со сложными клиентами, т.к. в этом квалификация и навыки проявляются и развиваются.

Программист не врач, программист — инженер. И если можно взять в космос карандаш,
а не изобретать ручку за миллион долларов, то нужно брать карандаш.

Если нужна какая-то невероятная квалификация, чтобы делать тривиальные вещи,
то контора нерационально расходует интеллект сотрудников. Топикстартер в начальном
посте правильно описал симптомы. В этом коде приходится использовать "стрельбу дробью" —
то есть, вносить изменения сразу во много мест. Что тебе не понятно? Почему нужно
избавляться от стрельбы дробью независимо от квалификации? Потому что вносить
изменения в одно место в сто раз быстрее чем в десять. Почему в сто? Потому что
тут квадратичная зависимость.

Течёт вода Кубань-реки куда велят большевики.
Re: как доходчиво объяснить менеджеру?
От: 0x7be СССР  
Дата: 22.02.16 19:18
Оценка: +1
Здравствуйте, consign, Вы писали:

C>Теперь сижу, не могу определиться — ржать или плакать.

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?
Переведи проблему в термины "время и деньги", т.е. составь экономическое обоснование своей идее "всё взять и поделить переписать".
Возможно, что в процессе ты сам увидишь, что твоя идея не обоснована
Re[3]: как доходчиво объяснить менеджеру?
От: pestis  
Дата: 22.02.16 19:37
Оценка: 1 (1)
Здравствуйте, alpha21264, Вы писали:

A>Знаешь, тратить квалификацию на поддержания говнокода не стОит. Есть масса более интересных применений.


Ты так говоришь, как будто квалификация расходуется. Скорее наоборот, от работы с чужим кодом квалификация растет.
Re[5]: как доходчиво объяснить менеджеру?
От: ML380 Земля  
Дата: 22.02.16 19:55
Оценка:
Здравствуйте, consign, Вы писали:

C>>а) сделано много совершенно ненужного


Может это задел на бущее, а вы его на помойку.
Re[2]: как доходчиво объяснить менеджеру?
От: CreatorCray  
Дата: 22.02.16 21:38
Оценка: +4
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>Приходилось видеть ситуацию, причем с двух сторон "конфликта", когда один кричал "Что это за бред!", на вот такое :

AWW>#define _15_ 15
AWW>А другой объяснял что это просто недописанный кусок. И что далее надо эту константу как-то обозвать, но пока лень придумывать имя, так как сроки горят!

Первый полностью прав: это бред.
У константы есть логический смысл. И имя надо давать по смыслу значения. А не "это енот".
И никакие "сроки горят" не оправдание подобному куску говна.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: как доходчиво объяснить менеджеру?
От: CreatorCray  
Дата: 22.02.16 21:38
Оценка: +1
Здравствуйте, antropolog, Вы писали:

C>>Точно. Не может быть, чтобы я знал свою работу. Только ты можешь знать всё лучше всех.

A>ох, ты бы сразу сказал что у тебя аккаунт на хабрахабре, я бы не тратил на тебя своё драгоценное время

Как по мне так звучит как переход на личности.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: как доходчиво объяснить менеджеру?
От: CreatorCray  
Дата: 22.02.16 21:38
Оценка: +1 :)
Здравствуйте, okon, Вы писали:

O>вылечил от неизлечимой казалось всем болезни — звучит намного профессиональнее чем "поработал со здоровым клиентом болячек не нашел, проводил водные процедуры"

Это не говнокод.
Говнокод это бабулька, у которой каждый день "та вот шота сёння ужо тут балиць" + пишет на врача жалобу что он дескать не проявил должного внимания.
Которая приходит на приём не потому что ей на самом деле болит, а потому что ей скучно и хочется с кем нить посраться.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 22.02.16 22:27
Оценка: -1
Здравствуйте, alpha21264, Вы писали:

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


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


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


P>>>>Честно признать что твоей квалификации недостаточно чтобы поддерживать этот код тебе религия не позволяет?


A>>>Знаешь, тратить квалификацию на поддержания говнокода не стОит. Есть масса более интересных применений.


O>>А в чем еще квалификация проявляется, когда все легко и просто тогда и квалификация не нужна

O>>профессиональный врач любит работать со сложными клиентами, т.к. в этом квалификация и навыки проявляются и развиваются.

A>Программист не врач, программист — инженер. И если можно взять в космос карандаш,

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

A>Если нужна какая-то невероятная квалификация, чтобы делать тривиальные вещи,

A>то контора нерационально расходует интеллект сотрудников. Топикстартер в начальном
A>посте правильно описал симптомы. В этом коде приходится использовать "стрельбу дробью" -
A>то есть, вносить изменения сразу во много мест. Что тебе не понятно? Почему нужно
A>избавляться от стрельбы дробью независимо от квалификации? Потому что вносить
A>изменения в одно место в сто раз быстрее чем в десять. Почему в сто? Потому что
A>тут квадратичная зависимость.

Но тут смотри такая штука — данный код уже написан, т.е. деньги уже потрачены их не вернуть. Правильно или нет они были потрачены без начальной постановки и конечного кода мы не увидим.
Задача топик кастеру я так понимаю была "немного доработать" судя по начальному посту. Возможно решить проблему с тем что она иногда падает ( тоже описано в начальном посте ) и все собственно.
Вместо того чтобы внести 10 дробинок , хотим еще потратить время на переписывание, не разобравшись целиком в коде, что как правильно заметили чревато утерей некоторых деталей который важны.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[5]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 22.02.16 22:31
Оценка: -1
Здравствуйте, CreatorCray, Вы писали:

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


O>>вылечил от неизлечимой казалось всем болезни — звучит намного профессиональнее чем "поработал со здоровым клиентом болячек не нашел, проводил водные процедуры"

CC>Это не говнокод.
CC>Говнокод это бабулька, у которой каждый день "та вот шота сёння ужо тут балиць" + пишет на врача жалобу что он дескать не проявил должного внимания.
CC>Которая приходит на приём не потому что ей на самом деле болит, а потому что ей скучно и хочется с кем нить посраться.

Это скорее коллеги которые вместо того чтобы решить проблему, ищут в коде "та вот шота сёння ужо тут балиць" + пишет на разработчика жалобу, и не потому что ей на самом деле болит, а потому что ей скучно и хочется с кем нить посраться" начинают вот в такую старушку играть
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[4]: как доходчиво объяснить менеджеру?
От: alpha21264 СССР  
Дата: 22.02.16 23:15
Оценка:
Здравствуйте, pestis, Вы писали:

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


A>>Знаешь, тратить квалификацию на поддержания говнокода не стОит. Есть масса более интересных применений.


P>Ты так говоришь, как будто квалификация расходуется. Скорее наоборот, от работы с чужим кодом квалификация растет.


В данном случае расходуется.
Просто человек мог бы вместо копания в говнокоде что-нибудь умное написать.
А не напишет, потому что копался в говнокоде.
А для копания в говнокоде нужны совсем другие умения, чем для чего-то умного.
То есть он и программу не напишет, и квалификация упадёт.

Течёт вода Кубань-реки куда велят большевики.
Re[8]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 02:52
Оценка:
Здравствуйте, antropolog, Вы писали:

A>дартаньянство есть, отсутствие опыта есть, прийти за помощью и хамить всем подряд тоже есть, а аккаунта на хабре нет. Удивил.


О мудрый и великий гадатель на шаре.

A>милок, моё время стоило 2 килобакса в месяц примерно 12 лет назад, и ты тогда под стол пешком ходил.


А сейчас 2100 или даже 2200?
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 02:52
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>И правильно не дадут, потому что знают, что "день" — это обычно где-то полгода


Не суди всех по себе
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 02:56
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Ты сам понимаешь все, что делает код?


Ты уверен, что прочитал и понял вопрос полностью?

G>Средняя скорость чтения и понимания кода — 200 строк в час, скорость написания — 70 строк в час.


Слишком упрощено. Какой-нибудь особо крепкий баг может потребовать многих дней, чтобы сидеть и ковырять код, и в конце концов написать всего пару строк — к примеру.

G>Чтобы поговорить с менеждером — найди куски, которые можно сократить. Например выкинуть абстрактную и интерфейсы, убрать визиторы и напрямую вызывать функции.


Паттерны? Выкинуть?? Да я тебя!
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 02:58
Оценка:
Здравствуйте, okon, Вы писали:

O>Сначала надо убить в себе дартаньяна,


Ну тогда начни с себя
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 03:00
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Ну скажи, что не можешь вьехать, и тот, кто это наваял, пусть это и дальше поддерживает.


Обгадить самого себя перед начальником — плохой подход.

Пока что, лучшее, что я придумал — ткнуть ПМа в конкретные проблемы при введение новой фичи, которая ему нужна, и растолковать, например, что 4 раза переконвертировать исходные данные из одного формата в другой — полное говно не очень хорошая идея.
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 03:05
Оценка: +1
Здравствуйте, pestis, Вы писали:

P>Ты так говоришь, как будто квалификация расходуется. Скорее наоборот, от работы с чужим кодом квалификация растет.


От работы с говнокодом, растет квалификация написания говнокода.
Re[5]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 23.02.16 03:50
Оценка: -1
C>Не вдаваясь в детали — не хватает возможности передавать добавочный тип параметра — и чтобы его прикрутить, надо переделывать код минимум в 8 местах. Потому как параметры четыре раза конвертируются из одного формата в другой.
C>А потом надо как-то скормить данные последнего этапа библиотеке для работы с сервером (прямого доступа к HTTP нет, хотя используется всего лишь POST + JSON). А библиотека тоже очень развесистая, со своим DSL, не хухры-мухры.

Вообще 8 мест изменить если это в рамках одного модуля или солюшена, это не такая уж тяжелая работа.
А что за библиотека развесистая со своим DSL, как называется ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[3]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 23.02.16 03:51
Оценка: +1
Здравствуйте, consign, Вы писали:

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


A>>Ну скажи, что не можешь вьехать, и тот, кто это наваял, пусть это и дальше поддерживает.


C>Обгадить самого себя перед начальником — плохой подход.


C>Пока что, лучшее, что я придумал — ткнуть ПМа в конкретные проблемы при введение новой фичи, которая ему нужна, и растолковать, например, что 4 раза переконвертировать исходные данные из одного формата в другой — полное говно не очень хорошая идея.



Это техническая деталь что во что там конвертится, представь покупаешь ты нечто , допустим кофеварку, есть кофеварка которая тебя полностью устраивает за 100 рублей. Есть более дорогая за 200 рублей. Тебя продавец начинает убеждать купить вторую по причине что в первой все работает, но там используется 4 шестеренки — это не самый оптимальный вариант, было бы оптимальнее чтобы было 2 шестеренки. Ну и резонный вопрос который возникнет — а какая мне собственно разница сколько там шестеренок ведь оно работает и меня устраивает.

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

Вот и ты предлагаешь менеджеру взять за 200 только потому-что там более изящно будет, но бизнес-профита не даст.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[6]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 04:52
Оценка:
Здравствуйте, okon, Вы писали:

O>Вообще 8 мест изменить если это в рамках одного модуля или солюшена, это не такая уж тяжелая работа.


На каждую фичу?

O>А что за библиотека развесистая со своим DSL, как называется ?


NEST
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 04:53
Оценка: +1
Здравствуйте, okon, Вы писали:

O>но бизнес-профита не даст.


Да что вы говорите?
Убрать лишние расходы на развитие и сопровождение — еще какой профит.
Re: как доходчиво объяснить менеджеру?
От: Teolog  
Дата: 23.02.16 08:26
Оценка: 2 (1) +2
Здравствуйте, consign, Вы писали:

C>И снова мне подкинули проект "совсем немного доработать".

C>Как только я услышал эту фразу, сразу закопошились нехорошие предчувствия. И они опять не обманули.
C>Код в лучших традициях подхода "меня укусил Гамма" — куча классов с одним методом, каждый вызывается строго через интерфейс и создается через абстрактную фабрику (при том, что у всех интерфейсов ровно по одному наследнику), визиторы, DSL на основе YAML, 30 пакетов с фреймворками непонятного назначения, и так далее.
C>Нормальной обработки ошибок нет, если что пошло не так — дохнет напрочь.
C>И всё это при том, что вся функция проги — периодически дергать страницу по HTTP, передавая ей аргументы из конфига, и если ответ не совпадает с заданным — дернуть другую страницу. Всё.

C>Теперь сижу, не могу определиться — ржать или плакать.

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?

Не надо ничего переписывать. Фиг с ним с гаммой и прочим цирком. Укажите 2 срока.
1. Просто добавить фичу без глобальных изменений
2. Добавить нормальную обработку ошибок
3. Выкинуть и написать заново
Потом сделать что попросят и вернуться к своим делам. Есть более интересные занятия чем покрасить и выбросить.
Re: Взгляд менеджера :)
От: sharpcoder Россия  
Дата: 23.02.16 10:02
Оценка: 1 (1) +5 -1
Ты видимо недостаточно квалифицированный еще Раз не можешь реализовать простую доработку в чужом коде. Свой код всегда кажется образцом красоты и качества, а чужой практически всегда говнокодом (отличие только в степени говнистости).

Разбираться в чужом коде задача всегда не простая, программисты среднего уровгя часто не в силах это делать.
Re[3]: как доходчиво объяснить менеджеру?
От: sharpcoder Россия  
Дата: 23.02.16 10:07
Оценка:
Здравствуйте, okon, Вы писали:

O>Если рефакторинг за свой счет то такой вариант возможен, если в рабочее время то не надо. Вы тратите чужие деньги на то , на что вас не просят.


Вот пару недель назад наш тим лид уволил своего программиста за то, что тот самовольно решил сделать рефакторинг. И задачку на день он делал неделю, да еще нагенерил кучу багов.
Конечно этот случай был не единственным, от этого программиста часто было слышно про чужой говнокод, но объективные показатели его работы (средняя скорость разработки, количество возвратов на багфиксинг) в два раза раза были ниже среднего по отделу.
Re[5]: как доходчиво объяснить менеджеру?
От: landerhigh Пират  
Дата: 23.02.16 10:07
Оценка: :)
Здравствуйте, consign, Вы писали:

L>>И правильно не дадут, потому что знают, что "день" — это обычно где-то полгода

C>Не суди всех по себе

Я уже давно дзен планирования постиг.
А вот это "переписать за день, максимум два" уже лет двадцать как в классике айтишной прозы воспето.
www.blinnov.com
Re[6]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 10:28
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>А вот это "переписать за день, максимум два" уже лет двадцать как в классике айтишной прозы воспето.


Знаем, читали. Но ты сейчас делаешь классическую логическую ошибку, которая называется "подтверждение следствием".
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 10:30
Оценка:
Здравствуйте, sharpcoder, Вы писали:

S>И задачку на день он делал неделю, да еще нагенерил кучу багов.


Бывает. Не надо было жлобиться и нанимать говно-программистов.
А что, тестов у вас вообще не было, что ли?
Re[9]: как доходчиво объяснить менеджеру?
От: AlexRK  
Дата: 23.02.16 10:31
Оценка:
Здравствуйте, consign, Вы писали:

A>>милок, моё время стоило 2 килобакса в месяц примерно 12 лет назад, и ты тогда под стол пешком ходил.

C>А сейчас 2100 или даже 2200?

А вам сколько платят за описанную в стартовом посте работу? В 2 раза больше?
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 10:31
Оценка:
Здравствуйте, Teolog, Вы писали:

T>Потом сделать что попросят и вернуться к своим делам. Есть более интересные занятия чем покрасить и выбросить.


Тоже вариант. Я пока склоняюсь к подходу "описать всё в багах, и пусть выкручиваются, как хотят". Хотя, боюсь, что всё закончится перевешиванием багов на меня.

PS ненавижу уродов, которые спрыгивают с недоделанного проекта
Re[2]: Взгляд менеджера :)
От: consign  
Дата: 23.02.16 10:33
Оценка:
Здравствуйте, sharpcoder, Вы писали:

S>Разбираться в чужом коде задача всегда не простая, программисты среднего уровгя часто не в силах это делать.


До некоторых людей всё никак не доходит, что "не мочь разобраться в коде" и "мочь разобраться в коде, но не хотеть ковыряться в данном конкретном говне" — разные вещи.
Re[10]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 10:34
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>А вам сколько платят за описанную в стартовом посте работу? В 2 раза больше?


Больше.
Re[7]: как доходчиво объяснить менеджеру?
От: landerhigh Пират  
Дата: 23.02.16 10:38
Оценка: +2
Здравствуйте, consign, Вы писали:

L>>А вот это "переписать за день, максимум два" уже лет двадцать как в классике айтишной прозы воспето.

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

Если бы там действительно было говно, которое нужно выкинуть и написать нормально за день, то ты бы именно это уже и сделал. Вместо этого флеймишь на форумах.
За день ты уже не справился. Что и требовалось доказать.
www.blinnov.com
Re[11]: как доходчиво объяснить менеджеру?
От: AlexRK  
Дата: 23.02.16 10:39
Оценка:
Здравствуйте, consign, Вы писали:

ARK>>А вам сколько платят за описанную в стартовом посте работу? В 2 раза больше?


C>Больше.


Больше, чем 2200, или больше, чем в 2 раза больше?
Re[3]: Взгляд менеджера :)
От: sharpcoder Россия  
Дата: 23.02.16 10:45
Оценка: +1 -1
Здравствуйте, consign, Вы писали:

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


S>>Разбираться в чужом коде задача всегда не простая, программисты среднего уровгя часто не в силах это делать.


C>До некоторых людей всё никак не доходит, что "не мочь разобраться в коде" и "мочь разобраться в коде, но не хотеть ковыряться в данном конкретном говне" — разные вещи


До некоторых людей все никак не доходит, что на работе надо решать задачи работодателя, а не делать то что хочется.

Да и такие самооправдания всегда слабо выглядят. Рассказать психологу — норм, начальнику — только показать свою слабость.
Re[8]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 10:48
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Если бы там действительно было говно, которое нужно выкинуть и написать нормально за день, то ты бы именно это уже и сделал. Вместо этого флеймишь на форумах.

L>За день ты уже не справился. Что и требовалось доказать.

А я и не начинал переписывать. Если просто наплевать на указания и всё переписать — получишь по шапке, и неважно — уложишься в срок или нет. Тратить время и выполнять глупые указания — за это по шапке не дадут.
Корпоративщина, черт ее дери...
Re[5]: как доходчиво объяснить менеджеру?
От: sharpcoder Россия  
Дата: 23.02.16 10:48
Оценка: +2 :)
Здравствуйте, consign, Вы писали:

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


S>>И задачку на день он делал неделю, да еще нагенерил кучу багов.


C>Бывает. Не надо было жлобиться и нанимать говно-программистов.


Стань работодателем для начала. Потом сможем предметно обсудить твои теории.

C>А что, тестов у вас вообще не было, что ли?


Автотесты не могут покрыть все возможные ситуации, а в некоторых областях (интеграция, сложная бизнес-логика) автотест должен быть в разы сложнее разрабатываемого модуля.
И вообще, наивно полаать что автотесты могут спасать от багов.
Отредактировано 23.02.2016 10:52 sharpcoder . Предыдущая версия .
Re[12]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 10:48
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>Больше, чем 2200, или больше, чем в 2 раза больше?


Второе.
Re[4]: Взгляд менеджера :)
От: consign  
Дата: 23.02.16 10:50
Оценка:
Здравствуйте, sharpcoder, Вы писали:

S>До некоторых людей все никак не доходит, что на работе надо решать задачи работодателя, а не делать то что хочется.


Я в курсе, см сообщение выше. "Я начальник — ты дурак", ничего нового ты мне не рассказал.
Re[3]: как доходчиво объяснить менеджеру?
От: sharpcoder Россия  
Дата: 23.02.16 10:50
Оценка:
C>PS ненавижу уродов, которые спрыгивают с недоделанного проекта

Вот в этом я с тобой согласен
Re[4]: Взгляд менеджера :)
От: antropolog  
Дата: 23.02.16 10:50
Оценка: +2 :))
Здравствуйте, sharpcoder, Вы писали:

я думаю пациент не излечим, учитывая анамнез: http://rsdn.ru/forum/dictionary/6178396.1
Автор: consign
Дата: 11.09.15
болезнь "чужой код говно, править баги не буду, долбись оно всё конём" судя по всему только прогрессирует
Re[6]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 10:51
Оценка:
Здравствуйте, sharpcoder, Вы писали:

S>Стань работодателем для начала. Потом сможем предметно обсудить твои теории.


У меня нет богатеньких родителей.

C>>А что, тестов у вас вообще не было, что ли?

S>Выдаешь свою неопытность такими вопросами.

Не юли. Тесты были или нет?
Re[5]: Взгляд менеджера :)
От: consign  
Дата: 23.02.16 10:53
Оценка: -2 :)
Здравствуйте, antropolog, Вы писали:

A>я думаю пациент не излечим, учитывая анамнез: http://rsdn.ru/forum/dictionary/6178396.1
Автор: consign
Дата: 11.09.15
болезнь "чужой код говно, править баги не буду, долбись оно всё конём" судя по всему только прогрессирует


А что тебя не устраивает? Да, я не люблю править баги в чужих программах. Особенно если это — вообще не моя ответственность.
Отредактировано 23.02.2016 10:54 consign . Предыдущая версия .
Re[5]: Взгляд менеджера :)
От: sharpcoder Россия  
Дата: 23.02.16 10:53
Оценка: :)))
Здравствуйте, consign, Вы писали:

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


S>>До некоторых людей все никак не доходит, что на работе надо решать задачи работодателя, а не делать то что хочется.


C>Я в курсе, см сообщение выше. "Я начальник — ты дурак", ничего нового ты мне не рассказал.


Ааа это твоя тема?
Ну в принципе все понятно
Re[13]: как доходчиво объяснить менеджеру?
От: AlexRK  
Дата: 23.02.16 10:55
Оценка:
Здравствуйте, consign, Вы писали:

ARK>>Больше, чем 2200, или больше, чем в 2 раза больше?


C>Второе.


Тогда лично для меня очень странно как то, что вы занимаетесь описанной в стартовом посте работой, так и само появление такого топика.

Хотя, если вы в США, то, насколько мне известно, 60000-70000 в год там вроде как считается не очень много, так что выглядит вполне правдоподобно.

Если в России, логичного объяснения я не вижу (впрочем, на экспертные знания в области ИТ-найма не претендую).
Re[5]: Взгляд менеджера :)
От: sharpcoder Россия  
Дата: 23.02.16 10:56
Оценка: :)
Здравствуйте, antropolog, Вы писали:

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


A>я думаю пациент не излечим, учитывая анамнез: http://rsdn.ru/forum/dictionary/6178396.1
Автор: consign
Дата: 11.09.15
болезнь "чужой код говно, править баги не буду, долбись оно всё конём" судя по всему только прогрессирует


Ну да, уже вижу.
Но я не могу сказать что это не излечимо. Просто конкретно на его стадии вот такие симптомы. Примерно как у автоновичка через 3-4 мес вождения появляется ощущение "я все могу, а все водятлы вокруг — тормоза". С опытом обычно проходит.
Re[14]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 10:59
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>Тогда лично для меня очень странно как то, что вы занимаетесь описанной в стартовом посте работой, так и само появление такого топика.


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

ARK>Хотя, если вы в США, то, насколько мне известно, 60000-70000 в год там вроде как считается не очень много, так что выглядит вполне правдоподобно.

ARK>Если в России, логичного объяснения я не вижу (впрочем, на экспертные знания в области ИТ-найма не претендую).

Не то и не другое. Да и вообще, считать "грязный" доход — бессмысленно. 60-70 в Штатах — этого только на доширак хватит.
Отредактировано 23.02.2016 11:10 consign . Предыдущая версия .
Re[9]: как доходчиво объяснить менеджеру?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 23.02.16 10:59
Оценка:
Здравствуйте, consign, Вы писали:

C>Если просто наплевать на указания и всё переписать — получишь по шапке, и неважно — уложишься в срок или нет.

Победителей не судят. Только в срок уложиться надо.

C>Тратить время и выполнять глупые указания — за это по шапке не дадут.

Зато неявно повесят ярлык "терпила" и будут такими указаниями закидывать.
Re[10]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 11:00
Оценка: 1 (1)
Здравствуйте, gandjustas, Вы писали:

G>Победителей не судят.


Судят. Твой непосредственный начальник останется твоим начальником, по крайней мере в ближайшем будущем. И своеволие он тебе точно припомнит, и не раз.

G>Зато неявно повесят ярлык "терпила" и будут такими указаниями закидывать.


Кхм, а где вы работаете?
Отредактировано 23.02.2016 11:05 consign . Предыдущая версия .
Re[6]: Взгляд менеджера :)
От: consign  
Дата: 23.02.16 11:01
Оценка: :)
Здравствуйте, sharpcoder, Вы писали:

S>Но я не могу сказать что это не излечимо. Просто конкретно на его стадии вот такие симптомы.


Теперь мои глаза открылись, господин начальник.
Re[7]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 23.02.16 11:07
Оценка:
Здравствуйте, consign, Вы писали:

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


O>>Вообще 8 мест изменить если это в рамках одного модуля или солюшена, это не такая уж тяжелая работа.


C>На каждую фичу?


O>>А что за библиотека развесистая со своим DSL, как называется ?


C>NEST


Если я правильно понял то это библиотека для работы с elasticsearch.net , неплохое решение, зачем такое решение нужно ? Для того чтобы потом полдня в логах ошибки не искать а они были структурированы ( все равно что в БД сохранять ) и по ним можно было делать статистику и т.п.
Я бы все таки посоветовал подружиться и попросить того парня научить этой вещи, штука полезная.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[15]: как доходчиво объяснить менеджеру?
От: AlexRK  
Дата: 23.02.16 11:08
Оценка:
Здравствуйте, consign, Вы писали:

ARK>>Тогда лично для меня очень странно как то, что вы занимаетесь описанной в стартовом посте работой, так и само появление такого топика.

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

Да, я, пожалуй, буду изрядно удивлен, если узнаю, что человек с вооот такой зарплатой подметает полы. (Ну или правит говнокод.) В мою примитивную картину мира это не укладывается. Скорее всего я подумаю, что по каким-то причинам у него нет выбора.

ARK>>Хотя, если вы в США, то, насколько мне известно, 60000-70000 в год там вроде как считается не очень много, так что выглядит вполне правдоподобно.

ARK>>Если в России, логичного объяснения я не вижу (впрочем, на экспертные знания в области ИТ-найма не претендую).
C>Не то и не другое. Да и вообще, считать "грязный" доход — бессмысленно.

Европа?
Ну назовите чистый.
Re[8]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 11:12
Оценка:
Здравствуйте, okon, Вы писали:

O>зачем такое решение нужно ?


Да собственно, в этой задаче — ни зачем.

O>Для того чтобы потом полдня в логах ошибки не искать а они были структурированы ( все равно что в БД сохранять ) и по ним можно было делать статистику и т.п.


Какие логи, какие ошибки?
Re[16]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 11:15
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>(Ну или правит говнокод.) В мою примитивную картину мира это не укладывается.


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

ARK>Ну назовите чистый.


Я и так говорил о чистом — после налогов и расходов.
Re[9]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 23.02.16 11:24
Оценка:
Здравствуйте, consign, Вы писали:

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


O>>зачем такое решение нужно ?


C>Да собственно, в этой задаче — ни зачем.


Как ни зачем, в логах не придется искать ошибки ? Узнать сколько запросов в сутки выполняется , сколько из них прошло сколько нет — будете считать по логам ?


O>>Для того чтобы потом полдня в логах ошибки не искать а они были структурированы ( все равно что в БД сохранять ) и по ним можно было делать статистику и т.п.


C>Какие логи, какие ошибки?


Ну вот а говорили что копаться в "говнокоде" это потеря квалификации, а тут можно и найти интересное оказывается
https://habrahabr.ru/post/266299/

Если я правильно понял о какой библиотеке NEST вы ранее сообщили
http://nest.azurewebsites.net/
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[10]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 11:30
Оценка:
Здравствуйте, okon, Вы писали:

O>Как ни зачем, в логах не придется искать ошибки ? Узнать сколько запросов в сутки выполняется , сколько из них прошло сколько нет — будете считать по логам ?


Какие конкретно ошибки?

O>Ну вот а говорили что копаться в "говнокоде" это потеря квалификации, а тут можно и найти интересное оказывается


Я ее ковырял уже. Сам сервер неплох, но NEST — редкостный кусок говна.
Re[6]: Взгляд менеджера :)
От: Andrew.W Worobow https://github.com/Worobow
Дата: 23.02.16 11:44
Оценка: 3 (2)
Здравствуйте, sharpcoder, Вы писали:

S>Но я не могу сказать что это не излечимо. Просто конкретно на его стадии вот такие симптомы. Примерно как у автоновичка через 3-4 мес вождения появляется ощущение "я все могу, а все водятлы вокруг — тормоза". С опытом обычно проходит.


Ученые говорят что это наступает в 3-5 лет опыта.
И более того предупреждают, что во-первых этот период наиболее авариный по статистике, во-вторых что тяжесть аварий существенно выше.
Не все кто уехал, предал Россию.
Re[11]: как доходчиво объяснить менеджеру?
От: okon  
Дата: 23.02.16 11:46
Оценка:
O>>Как ни зачем, в логах не придется искать ошибки ? Узнать сколько запросов в сутки выполняется , сколько из них прошло сколько нет — будете считать по логам ?

C>Какие конкретно ошибки?


Ну там же http запросы, как минимум ошибки подключения и обработки запросов.

O>>Ну вот а говорили что копаться в "говнокоде" это потеря квалификации, а тут можно и найти интересное оказывается

C>Я ее ковырял уже. Сам сервер неплох, но NEST — редкостный кусок говна.

А более аргументированно, или получается все что новое и непонятное — говно?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[6]: Взгляд менеджера :)
От: okon  
Дата: 23.02.16 11:52
Оценка: 4 (1) +1
Здравствуйте, consign, Вы писали:

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


A>>я думаю пациент не излечим, учитывая анамнез: http://rsdn.ru/forum/dictionary/6178396.1
Автор: consign
Дата: 11.09.15
болезнь "чужой код говно, править баги не буду, долбись оно всё конём" судя по всему только прогрессирует


C>А что тебя не устраивает? Да, я не люблю править баги в чужих программах. Особенно если это — вообще не моя ответственность.


Хм , а вы как работаете фрилансером или как обычно большая часть на постоянке , работаете по договору как разработчик или как кто-то другой в чью ответственность не входит работа с кодом.
Я еще ни одного трудового договора не видел где программист бы отвечал только за свой код и было бы разделение программ на свои и чужие. Договор подписали ? Значит приняли условия , будьте добры выполнять. Может работодатель тоже не очень любит зарплату платить, но он же выполняет обязательства ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[6]: Взгляд менеджера :)
От: antropolog  
Дата: 23.02.16 12:09
Оценка: 1 (1) +2 -2 :)
Здравствуйте, consign, Вы писали:

C>Да, я не люблю править баги в чужих программах. Особенно если это — вообще не моя ответственность.

вот когда ты перестанешь делить программы на "свои" и "чужие", и поймёшь что твоя ответственность — делать код рабочим, не взирая на то, кем он и как, на каком языке и когда написан, вот тогда ты и станешь инженером, а до тех пор свои инфантильные "хочу/не хочу, мой/чужой" лучше не демонстрируй на публике.
Отредактировано 23.02.2016 12:11 antropolog . Предыдущая версия .
Re[3]: как доходчиво объяснить менеджеру?
От: alpha21264 СССР  
Дата: 23.02.16 12:51
Оценка:
Здравствуйте, consign, Вы писали:

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


A>>Ну скажи, что не можешь вьехать, и тот, кто это наваял, пусть это и дальше поддерживает.


C>Обгадить самого себя перед начальником — плохой подход.


Почему обгадить-то? Кто наваял, тот и поддерживает — вполне нормальный подход, который применяется всегда и везде.
Потому что тебе надо въезжать, а автору не надо. А чтобы въехать, надо потратить столько же времени как на написание.

Течёт вода Кубань-реки куда велят большевики.
Re[4]: Взгляд менеджера :)
От: alpha21264 СССР  
Дата: 23.02.16 12:52
Оценка: +1
Здравствуйте, sharpcoder, Вы писали:

S>До некоторых людей все никак не доходит, что на работе надо решать задачи работодателя, а не делать то что хочется.


Лучше всего люди делают именно то, что им хочется. И хороший менеджер это всегда знает.

Течёт вода Кубань-реки куда велят большевики.
Re[5]: Взгляд менеджера :)
От: okon  
Дата: 23.02.16 12:59
Оценка:
Здравствуйте, alpha21264, Вы писали:

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


S>>До некоторых людей все никак не доходит, что на работе надо решать задачи работодателя, а не делать то что хочется.


A>Лучше всего люди делают именно то, что им хочется. И хороший менеджер это всегда знает.


Но далеко не всегда текущие задачи бизнеса совпадают с тем что хочется конкретному человеку.
Да и мало кто идет наниматься на работу потому что хочется работать на дядю, большинство соглашается с тем что дядя будет давать работу и ее нужно будет выполнять. Только вот после трудоустройства и определенного периода адаптации уже начинается какое-то неприятие задач.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[4]: как доходчиво объяснить менеджеру?
От: landerhigh Пират  
Дата: 23.02.16 13:05
Оценка: +2
Здравствуйте, alpha21264, Вы писали:

A>Почему обгадить-то? Кто наваял, тот и поддерживает — вполне нормальный подход, который применяется всегда и везде.


Не всегда и не везде.

Более "везде" используется другой подход. "Наваял — сделай так, чтобы саппорт мог поддерживать".
www.blinnov.com
Re[6]: Взгляд менеджера :)
От: alpha21264 СССР  
Дата: 23.02.16 13:05
Оценка:
Здравствуйте, okon, Вы писали:

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


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


S>>>До некоторых людей все никак не доходит, что на работе надо решать задачи работодателя, а не делать то что хочется.


A>>Лучше всего люди делают именно то, что им хочется. И хороший менеджер это всегда знает.


O>Но далеко не всегда текущие задачи бизнеса совпадают с тем что хочется конкретному человеку.


Ну так в том и заключается работа менеджера. Тем более, что ваятель говнокода сидит рядом.

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


У кого как. Я из того поколения программистов, кому работа нравится. И нас таких целая контора. :-P

Течёт вода Кубань-реки куда велят большевики.
Re[7]: Взгляд менеджера :)
От: consign  
Дата: 23.02.16 13:27
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>Ученые говорят что это наступает в 3-5 лет опыта.

AWW>И более того предупреждают, что во-первых этот период наиболее авариный по статистике, во-вторых что тяжесть аварий существенно выше.

Интересно. И при каком количестве наезженных за месяц часов делается расчет?
Re[12]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 23.02.16 13:28
Оценка:
Здравствуйте, okon, Вы писали:

O>Ну там же http запросы, как минимум ошибки подключения и обработки запросов.


Это не имеет никакого отношения к библиотеке. Она просто бросает исключение при ошибке.

O>А более аргументированно, или получается все что новое и непонятное — говно?


Ну я же написал, что сервер неплох. Хотя, я код пока особо и не копал
Re[7]: Взгляд менеджера :)
От: consign  
Дата: 23.02.16 13:30
Оценка: -1
Здравствуйте, okon, Вы писали:

O>Я еще ни одного трудового договора не видел где программист бы отвечал только за свой код и было бы разделение программ на свои и чужие. Договор подписали ? Значит приняли условия , будьте добры выполнять. Может работодатель тоже не очень любит зарплату платить, но он же выполняет обязательства ?


Ну на самом деле, в моем текущем контракте этого проекта нет — спасибо, что напомнил. Так что, можно упереться рогом и отказаться — или поработать и над этим проектом, а потом взять ПМа за горло.
Надо поразмыслить.
Отредактировано 23.02.2016 13:32 consign . Предыдущая версия .
Re[7]: Взгляд менеджера :)
От: consign  
Дата: 23.02.16 13:31
Оценка: :)
Здравствуйте, antropolog, Вы писали:

A>вот когда ты перестанешь делить программы на "свои" и "чужие", и поймёшь что твоя ответственность — делать код рабочим, не взирая на то, кем он и как, на каком языке и когда написан, вот тогда ты и станешь инженером, а до тех пор свои инфантильные "хочу/не хочу, мой/чужой" лучше не демонстрируй на публике.


Программист-лох, мечта менеджера-жлоба. Делает любую грязную работу за скромный прайс, доширак и одобрительное похлопывание по плечу.
Отредактировано 23.02.2016 13:34 consign . Предыдущая версия .
Re[12]: как доходчиво объяснить менеджеру?
От: Glestwid  
Дата: 23.02.16 16:10
Оценка: +1
O>А более аргументированно, или получается все что новое и непонятное — говно?
Рискну предположить, что "новое и непонятное" — это на самом деле используемое как карьерный экскаватор для рытья канавы на даче. Указывает, судя по "Гамме" не неадекватность автора творения, который был мастер нагородить архитектуру чтобы просто попрактиковаться в бессмысленных вещах. Зато резюме приукрасил.
Re[5]: Взгляд менеджера :)
От: sharpcoder Россия  
Дата: 23.02.16 19:25
Оценка: +3 :)
Здравствуйте, alpha21264, Вы писали:

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


S>>До некоторых людей все никак не доходит, что на работе надо решать задачи работодателя, а не делать то что хочется.


A>Лучше всего люди делают именно то, что им хочется. И хороший менеджер это всегда знает.


Это не так. Ну-ка найди мне финансового аналитика который любит колбасить эксель! У меня почти все друзья финансисты, и обычно они просто любят деньги и никто не любит колбасить свои эксельки. Многие любят вышивать и делают это хреновей некуда, а работают хорошими переводчиками или врачами.

Профессионал он тем и отличается от любителя, что делает свою работу на твердую 5, несмотря ни на какие трудности, рутину, настроение, скуку и тп. Просто хорошо делает свою работу. А у любителя обычно 1000 причин, которые мешают ему выдавать качественный результат.


Что касается программистов. Моя задача честно донести при приеме на работе суть задач, рассказать с чем и как мы работаем. А хочется ли программисту этим заниматься или нет — он сам пусть решает. Моя задача лишь отследить качество его работы и контролировать его результат. Если он выдает хороший результат хотя ему не хочется этим заниматься — меня это устроит. Если он выдает плохой результат, то меня это не устроит вне зависимости от того, хочется ли ему делать его работу или нет.
Re[8]: Взгляд менеджера :)
От: sharpcoder Россия  
Дата: 23.02.16 19:30
Оценка: :)
Здравствуйте, consign, Вы писали:

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


A>>вот когда ты перестанешь делить программы на "свои" и "чужие", и поймёшь что твоя ответственность — делать код рабочим, не взирая на то, кем он и как, на каком языке и когда написан, вот тогда ты и станешь инженером, а до тех пор свои инфантильные "хочу/не хочу, мой/чужой" лучше не демонстрируй на публике.


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


Мечтать не вредно.

Но менеджер реалист, и понимает что приходится работать с разными людьми, с их достоинствами и недостатками. А программисты, я тебе скажу, не самый простой контингент!
Re[8]: Взгляд менеджера :)
От: Teolog  
Дата: 23.02.16 21:29
Оценка: +1
Здравствуйте, consign, Вы писали:

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


A>>вот когда ты перестанешь делить программы на "свои" и "чужие", и поймёшь что твоя ответственность — делать код рабочим, не взирая на то, кем он и как, на каком языке и когда написан, вот тогда ты и станешь инженером, а до тех пор свои инфантильные "хочу/не хочу, мой/чужой" лучше не демонстрируй на публике.


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

Просто профессионал. Хотите -сделаем, за соотвествующую цену. Соотвествующая цена время+усилия+моральный ущерб от говнокода.
Нет проблем. Что дорого, уже не хотите? Как пожелаете.
Re[10]: как доходчиво объяснить менеджеру?
От: mgu  
Дата: 23.02.16 22:52
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

C>>Если просто наплевать на указания и всё переписать — получишь по шапке, и неважно — уложишься в срок или нет.

G>Победителей не судят. Только в срок уложиться надо.

Ещё как судят!

C>>Тратить время и выполнять глупые указания — за это по шапке не дадут.

G>Зато неявно повесят ярлык "терпила" и будут такими указаниями закидывать.

В конце концов, гибкость позвоночника -- это тоже soft skills.
Re[4]: как доходчиво объяснить менеджеру?
От: mgu  
Дата: 23.02.16 22:59
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>>>Ну скажи, что не можешь вьехать, и тот, кто это наваял, пусть это и дальше поддерживает.


C>>Обгадить самого себя перед начальником — плохой подход.


A>Почему обгадить-то? Кто наваял, тот и поддерживает — вполне нормальный подход, который применяется всегда и везде.

A>Потому что тебе надо въезжать, а автору не надо. А чтобы въехать, надо потратить столько же времени как на написание.

А главное -- чтобы у автора появилась ответственность. А то получается -- буду писать, как карта ляжет, если что -- другие подотрут.
Re: как доходчиво объяснить менеджеру?
От: De-Bill  
Дата: 24.02.16 03:44
Оценка: +2 :)
C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку?

Такие слова разрешено говорить вслух только программистам-новичкам. Опытные программисты понимают, что практически любой промышленный код — полное говно, и что надо всё переписывать. Но это стоит дороже, чем поддерживать. Хороший код встречается либо в программках на 1000 строк, которыми никто никогда не пользовался, либо в компаниях, куда стоит очередь 20 программистов на одно место. Не хватает квалификации, чтобы попасть в такую компанию — будь готов работать с говнокодом.
Re[9]: Взгляд менеджера :)
От: consign  
Дата: 24.02.16 04:04
Оценка:
Здравствуйте, Teolog, Вы писали:

T>Просто профессионал. Хотите -сделаем, за соотвествующую цену. Соотвествующая цена время+усилия+моральный ущерб от говнокода.

T>Нет проблем. Что дорого, уже не хотите? Как пожелаете.

Вот это — очень важное дополнение
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 24.02.16 04:07
Оценка:
Здравствуйте, De-Bill, Вы писали:

DB>практически любой промышленный код — полное говно


На самом деле — нет.

DB>либо в компаниях, куда стоит очередь 20 программистов на одно место.


Это вряд ли. В компаниях типа Майкрософта, код — особенно гадостное говно.
Re[4]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 24.02.16 04:16
Оценка:
C>>PS ненавижу уродов, которые спрыгивают с недоделанного проекта

S>Вот в этом я с тобой согласен


А разве в нашем деле сколь либо серьезные проекты заканчиваются?
Re[3]: Взгляд менеджера :)
От: Олег К.  
Дата: 24.02.16 04:21
Оценка: 1 (1) +1
S>>Разбираться в чужом коде задача всегда не простая, программисты среднего уровгя часто не в силах это делать.

C>До некоторых людей всё никак не доходит, что "не мочь разобраться в коде" и "мочь разобраться в коде, но не хотеть ковыряться в данном конкретном говне" — разные вещи.


Я очень хорошо понимаю твой начальный пост, но это избытки нашей профессии, и это надо принять как должное. Ты можешь плеваться от кода (и пусть ты сто раз прав!), но нужно уметь работать с тем, что тебе досталось в наследство.
Re[6]: Взгляд менеджера :)
От: Олег К.  
Дата: 24.02.16 04:23
Оценка:
C>А что тебя не устраивает? Да, я не люблю править баги в чужих программах. Особенно если это — вообще не моя ответственность.

Это надо уметь делать. Не все проекты пишутся с нуля. Есть куча проектов которые живут с 70-80-90-ых, и над ними нужно уметь продолжать работать. Этого скилла у тебя нет, хоть я и согласен с твоим начальным постом.
Re[5]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 24.02.16 04:26
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>А разве в нашем деле сколь либо серьезные проекты заканчиваются?


Нет, но они доводятся до ближайшего релиза.
Re[6]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 24.02.16 04:27
Оценка:
ОК>>А разве в нашем деле сколь либо серьезные проекты заканчиваются?

C>Нет, но они доводятся до ближайшего релиза.


Ну так доведи до ближайшего релиза данный проект!
Re[2]: как доходчиво объяснить менеджеру?
От: anovokreschenov Россия  
Дата: 24.02.16 04:27
Оценка: +1
Здравствуйте, velkin, Вы писали:

V>А вы видели код не говно ?
Автор:
Дата: 12.01.13


Конечно, каждый день его пишу. Да и разве может свой код быть плохим? Конечно нет, иначе зачем всякий новый участник проекта старается все переписать с нуля?
Re[7]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 24.02.16 04:32
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Ну так доведи до ближайшего релиза данный проект!


Пусть доводят авторы этого чуда мысли. Мне своих забот хватает.
Re[8]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 24.02.16 04:39
Оценка: +1
ОК>>Ну так доведи до ближайшего релиза данный проект!

C>Пусть доводят авторы этого чуда мысли. Мне своих забот хватает.


Ну так и скажи это своему начальнику. А дальше он уже решит кто из вас продолжит.
Re[2]: как доходчиво объяснить менеджеру?
От: mgu  
Дата: 24.02.16 05:45
Оценка:
Здравствуйте, De-Bill, Вы писали:

C>>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку?


DB>Такие слова разрешено говорить вслух только программистам-новичкам.


Наоборот, новому ведущему программисту, это хорошее основание для дальнейших отмазок.

DB>Опытные программисты понимают, что практически любой промышленный код — полное говно,


+1

DB>и что надо всё переписывать. Но это стоит дороже, чем поддерживать.


Зависит.

DB>Хороший код встречается либо в программках на 1000 строк, которыми никто никогда не пользовался,


Когда как.

DB>либо в компаниях, куда стоит очередь 20 программистов на одно место.


Очередь легко организовать, с качеством кода она не связана.

DB>Не хватает квалификации, чтобы попасть в такую компанию — будь готов работать с говнокодом.


Квалификация нынче измеряется олимпиадными задачами, и из качественных ингредиентов запросто получается тошнокод.
Re[2]: как доходчиво объяснить менеджеру?
От: Temnikov Россия  
Дата: 24.02.16 06:22
Оценка:
V>А вы видели код не говно ?
Автор:
Дата: 12.01.13

V>

V>В ИТ около 15 лет, был ~6 конторах, ни разу не слышал чтобы хоть раз чей-нибудь код называли хорошим, только и слышно здесь говно, там говно.
V>Даже нет у него в отличие от говнокода названия своего, там вареньекод, медокод.
V>Если знаете какой-нибудь опенсорс или есть свой код в интернете пришлите ссылочку посмаковать, хоть раз взглянуть на это чудо которое не назовут говном.

Видел, в основном нормальный код, был так же код сваяный на скорую руку, тк пму/сейлзам/левойпятке/хзкому надо быстрее хуякхуяк(да простят меня модераторы) и в продакшн. Но так чтобы совсем говнокод, да весь проект/продукт — ни разу.
Re[2]: как доходчиво объяснить менеджеру?
От: landerhigh Пират  
Дата: 24.02.16 07:45
Оценка: +1 :)
Здравствуйте, De-Bill, Вы писали:

DB> либо в компаниях, куда стоит очередь 20 программистов на одно место.


К сожалению, в компаниях, где водится действительно хороший код, никакой очереди нет. При уходе программиста его просто не заменяют. Незачем.
www.blinnov.com
Re[5]: как доходчиво объяснить менеджеру?
От: alzt  
Дата: 24.02.16 08:52
Оценка:
Здравствуйте, consign, Вы писали:

L>>И правильно не дадут, потому что знают, что "день" — это обычно где-то полгода


C>Не суди всех по себе


Делаешь просто: создаёшь проект, пишешь там всё заново. Через день если твой новый проект лучше, чем старый, то заменяешь.
Начальству говоришь, что работаешь над старым проектом.
Только ведь что-то пойдёт не так.
Re[6]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 24.02.16 09:19
Оценка:
Здравствуйте, alzt, Вы писали:

A>Начальству говоришь, что работаешь над старым проектом.

A>Только ведь что-то пойдёт не так.

Точно пойдет не так. ПМ не настолько тупой.
Re[3]: как доходчиво объяснить менеджеру?
От: AlexRK  
Дата: 24.02.16 09:26
Оценка:
Здравствуйте, landerhigh, Вы писали:

DB>> либо в компаниях, куда стоит очередь 20 программистов на одно место.


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


Получается, такие компании держат ненужных программистов? Слава богу, есть еще в мире альтруизм, грязная зеленая бумажка еще не все умы зохавала.
Re[3]: как доходчиво объяснить менеджеру?
От: mgu  
Дата: 24.02.16 10:24
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

DB>> либо в компаниях, куда стоит очередь 20 программистов на одно место.


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


Иногда есть зачем. Просто в компании, где пишут хороший ход, набирают подходящих программистов, а для этого составляют хорошие объявления о найме, которые исключают очереди. В общем, какой стол, такой и стул какой отдел кадров, такие и работники.
Re[4]: как доходчиво объяснить менеджеру?
От: De-Bill  
Дата: 24.02.16 10:54
Оценка:
mgu>Иногда есть зачем. Просто в компании, где пишут хороший ход, набирают подходящих программистов, а для этого составляют хорошие объявления о найме, которые исключают очереди. В общем, какой стол, такой и стул какой отдел кадров, такие и работники.

Чтобы набрать хороших программистов, нужны хорошие деньги. А когда есть хорошие деньги, очереди сами выстраиваются. Невозможно написать такое объявление на большие деньги, чтобы шли только подходящие кандидаты.
Re[5]: как доходчиво объяснить менеджеру?
От: alpha21264 СССР  
Дата: 24.02.16 11:10
Оценка:
Здравствуйте, landerhigh, Вы писали:

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


A>>Почему обгадить-то? Кто наваял, тот и поддерживает — вполне нормальный подход, который применяется всегда и везде.


L>Не всегда и не везде.

L>Более "везде" используется другой подход. "Наваял — сделай так, чтобы саппорт мог поддерживать".

Так тоже можно. Но в данном случае и это условие тоже не выполняется..

Течёт вода Кубань-реки куда велят большевики.
Re[5]: как доходчиво объяснить менеджеру?
От: mgu  
Дата: 24.02.16 11:29
Оценка: +1
Здравствуйте, De-Bill, Вы писали:

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


DB>Чтобы набрать хороших программистов, нужны хорошие деньги.


Сплошь и рядом примеры, когда и за хорошие деньги нанимают чёрт знает кого. Так вот, хороший специалист (и кадровик в частности) -- это не тот, кто зазывает на хорошие деньги, а тот, кто сумеет нанять за плохие.

Ещё аналогия -- чтобы программа работала быстро, нужно мощное железо...

DB>А когда есть хорошие деньги, очереди сами выстраиваются. Невозможно написать такое объявление на большие деньги, чтобы шли только подходящие кандидаты.


У Паркинсона всё разжёвано. Да, и если есть хорошие деньги и запахнет очередью, то можно указывать меньшую зарплату. Неблагородно? Во всяком случае, это честнее, чем выдавать объявление без зарплаты, издеваться над толпами, и в конце концов выбрать того, кто лучше всех ответит на вопрос "сколько вы получали на прежнем месте работы?"
Re[4]: как доходчиво объяснить менеджеру?
От: landerhigh Пират  
Дата: 24.02.16 12:07
Оценка:
Здравствуйте, AlexRK, Вы писали:

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

ARK>Получается, такие компании держат ненужных программистов?

Они исповедуют подход — незаменимых у нас нет, мы просто не будем никого заменять
www.blinnov.com
Re[4]: как доходчиво объяснить менеджеру?
От: landerhigh Пират  
Дата: 24.02.16 12:15
Оценка: 9 (1) +2
Здравствуйте, mgu, Вы писали:

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

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

Это в эльфландии, наверное.
А чаще всего им просто везет, что сквозь гномо-фильтр пролез человек, которому не пофиг, что он делает и который способен заражать своим непофигизмом окружающих.
Что характерно, это далеко не всегда идет на пользу собственно данному конкретному инженеру.
www.blinnov.com
Re[2]: как доходчиво объяснить менеджеру?
От: sharpcoder Россия  
Дата: 24.02.16 12:17
Оценка: 3 (1) :)
Здравствуйте, De-Bill, Вы писали:

C>>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку?


DB>Опытные программисты понимают, что практически любой промышленный код — полное говно, и что надо всё переписывать. Но это стоит дороже, чем поддерживать.


Ааа... вспомнил историю из жизни

Было это уже 13 лет назад (охренеть как много) — в 2003 году. Работал я в компании одной с у нее был флагманский продукт (у которого сотни клиентов, который разрабатывался 10 лет и содержит куски на делфи, с++, кучу оракловых процедур и т.п.) на .Net'е! И вот там появился сеньер dotnet'чик который на все это посмотрел, сказал что все это говнокод и в идеале все надо переписать. Гендир ему поверил и открыл большой проект по переписыванию флагманского продукта на dotNet.

Наняли команду толковых c# кодеров, написали ТЗ. И вот задача была переписать продукт. dotNet'чики радостно заявили что за 6 месяцев все перепишут, и еще за 6 — все отладят, сделают необходимые вспомогательные модули и продукт можно будет продавать.

Угадай, что было дальше?

В 2006 они сделали первый работающий прототип. (3 года прошло)
В 2008 прототип так и не начал стабильно работать (всего 5 лет прошло), и проект закрыли!

Что же имеем сейчас, по прошествии 13 лет с момента решения "переписать продукт"? Компания продолжает успешный бизнес со своим флагманским продуктом (тем самым, который на делфи, c++, и оракловых процедурах).


Гендир там был веселый человек. Помню как он сказал в момент получения работающего прототипа "поздравляю всех вас с тем, что вы научились использовать современные технологии"
Re: как доходчиво объяснить менеджеру?
От: 0BD11A0D  
Дата: 24.02.16 12:37
Оценка: 5 (3) +1
Здравствуйте, consign, Вы писали:

C>И снова мне подкинули проект "совсем немного доработать".

C>Как только я услышал эту фразу, сразу закопошились нехорошие предчувствия. И они опять не обманули.
C>Код в лучших традициях подхода "меня укусил Гамма" — куча классов с одним методом, каждый вызывается строго через интерфейс и создается через абстрактную фабрику (при том, что у всех интерфейсов ровно по одному наследнику), визиторы, DSL на основе YAML, 30 пакетов с фреймворками непонятного назначения, и так далее.
C>Нормальной обработки ошибок нет, если что пошло не так — дохнет напрочь.
C>И всё это при том, что вся функция проги — периодически дергать страницу по HTTP, передавая ей аргументы из конфига, и если ответ не совпадает с заданным — дернуть другую страницу. Всё.

C>Теперь сижу, не могу определиться — ржать или плакать.

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?

Если выделенное болдом верно, весь функционал ложится в одну-две функции. Плюс парсинг конфига, который можно зареюзать. (Подозреваю, на него приходится изрядная доля имеющегося кода). Можно написать эту функцию(ции) сбоку и передавать управление ей, а вызовы имеющегося кода закомментировать. Когда наглядно будет видно, что за месяц (полгода, год и т.д.) мегабайты кода не понадобились ни разу, их можно взять и выкинуть. Если окажется, что они решали реальную проблему, значит это не говнокод, можно откатиться к исходному состоянию. А если начнутся тупые наезды по поводу замены тихой сапой, всегда можно сказать, что это был временный костыль на период освоения сложного проекта, в крайнем случае, получите немного по голове.
Re[2]: как доходчиво объяснить менеджеру?
От: · Великобритания  
Дата: 24.02.16 13:27
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>#define _15_ 15

Ой, да ладно... ещё терпимо. Я видал такое:
public class Constants
{
  public static final int ONE = 1;
  public static final int TWO = 2;
  public static final int THREE = 3;
...
  public static final int FIFTEEN = 15;
...
}

И всё потому, что правильно поставленный процесс разработки — запускается checkstyle и ругается на magic constant.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Отредактировано 24.02.2016 13:30 · . Предыдущая версия .
Re[3]: как доходчиво объяснить менеджеру?
От: mgu  
Дата: 24.02.16 14:15
Оценка: +1
Здравствуйте, sharpcoder, Вы писали:

S>В 2006 они сделали первый работающий прототип. (3 года прошло)

S>В 2008 прототип так и не начал стабильно работать (всего 5 лет прошло), и проект закрыли!

S>Что же имеем сейчас, по прошествии 13 лет с момента решения "переписать продукт"? Компания продолжает успешный бизнес со своим флагманским продуктом (тем самым, который на делфи, c++, и оракловых процедурах).


S>Гендир там был веселый человек. Помню как он сказал в момент получения работающего прототипа "поздравляю всех вас с тем, что вы научились использовать современные технологии"


А как сложилась судьба вдохновителя переписывания? Ушёл на повышение?
Re[5]: как доходчиво объяснить менеджеру?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 24.02.16 15:46
Оценка:
Здравствуйте, consign, Вы писали:

C>Да что вы говорите?

C>Убрать лишние расходы на развитие и сопровождение — еще какой профит.

Удачи в попытках объяснить это менеджеру
[КУ] оккупировала армия.
Re[3]: как доходчиво объяснить менеджеру?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 24.02.16 16:01
Оценка:
Здравствуйте, consign, Вы писали:

C>Это вряд ли. В компаниях типа Майкрософта, код — особенно гадостное говно.


Ты ничего не знаешь об МС.
[КУ] оккупировала армия.
Re[3]: как доходчиво объяснить менеджеру?
От: AndrewJD США  
Дата: 24.02.16 16:43
Оценка:
Здравствуйте, anovokreschenov, Вы писали:

V>>А вы видели код не говно ?
Автор:
Дата: 12.01.13


A>Конечно, каждый день его пишу. Да и разве может свой код быть плохим? Конечно нет, иначе зачем всякий новый участник проекта старается все переписать с нуля?


Своё говно не пахнет?(с)
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[3]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 25.02.16 04:16
Оценка:
Здравствуйте, sharpcoder, Вы писали:

S>Наняли команду толковых c# кодеров, написали ТЗ. И вот задача была переписать продукт. dotNet'чики радостно заявили что за 6 месяцев все перепишут, и еще за 6 — все отладят, сделают необходимые вспомогательные модули и продукт можно будет продавать.


....

S>В 2006 они сделали первый работающий прототип. (3 года прошло)

S>В 2008 прототип так и не начал стабильно работать (всего 5 лет прошло), и проект закрыли!

Толковых? Ты точно ничего не перепутал?
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 25.02.16 04:18
Оценка:
Здравствуйте, 0BD11A0D, Вы писали:

BDA>Если выделенное болдом верно


Наконец то появился один человек, который прочитал исходное сообщение полностью

BDA>Можно написать эту функцию(ции) сбоку и передавать управление ей, а вызовы имеющегося кода закомментировать.


Нет смысла, поскольку почти весь код — это разбор и конверсия конфигов.
Отредактировано 25.02.2016 5:10 consign . Предыдущая версия .
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 25.02.16 04:21
Оценка: +2
Здравствуйте, koandrew, Вы писали:

K>Ты ничего не знаешь об МС.


На редкость аргументированное заявление.
Re[3]: как доходчиво объяснить менеджеру?
От: Transformerrr  
Дата: 25.02.16 07:46
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, Andrew.W Worobow, Вы писали:


AWW>>#define _15_ 15

·>Ой, да ладно... ещё терпимо. Я видал такое:
·>
·>public class Constants
·>{
·>  public static final int ONE = 1;
·>  public static final int TWO = 2;
·>  public static final int THREE = 3;
·>...
·>  public static final int FIFTEEN = 15;
·>...
·>}
·>

·>И всё потому, что правильно поставленный процесс разработки — запускается checkstyle и ругается на magic constant.

Наверное В правильном процессе не нашлось места для код ревью
Re: как доходчиво объяснить менеджеру?
От: Molchalnik  
Дата: 25.02.16 07:55
Оценка:
Здравствуйте, consign, Вы писали:

C>Код в лучших традициях подхода "меня укусил Гамма" — куча классов с одним методом, каждый вызывается строго через интерфейс и создается через абстрактную фабрику (при том, что у всех интерфейсов ровно по одному наследнику)


Про код "навырост" — когда-то тоже писал код навырост, но потом даже до моей дурной башки стало доходить, что навырост конечно надо писать, но не так. Не усложнять структуру, а оставлять крепления для "выроста" этой структуры. Например, в данном случае, вместо интерфейса может быть
typedef MyClass MyClassInterface;

читабельность усложняет незначительно, а "навырост" в полном масштабе.

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


И, кстати, я разбирался в таком проетке "навырост", удовольствия не получил. 5 уровней абстракции, за которыми конкретно выполняющий уровень код. С простой программой можно месяц возиться. Имхо, если такое "навырост" есть, то должно быть превосходно документировано, а желательно оставить один уровень абстракции, но так, чтобы при необходимости достраивались другие 4.
Re[3]: как доходчиво объяснить менеджеру?
От: lgb Канада  
Дата: 25.02.16 07:56
Оценка: +1
Здравствуйте, consign, Вы писали:

BDA>>Если выделенное болдом верно

C>Наконец то появился один человек, который прочитал исходное сообщение полностью

BDA>>Можно написать эту функцию(ции) сбоку и передавать управление ей, а вызовы имеющегося кода закомментировать.

C>Нет смысла, поскольку почти весь код — это разбор и конверсия конфигов.

Ну, ты же сказал, что можешь переписать все за один день. Почему бы тогда не сделать это дома, пусть даже за несколько вечеров и облегчить тем самым жизнь себе и другим?
Потом скажешь руководству, что вот вам новый компактный код, он полностью покрыт тестами (у тебя же есть все спецификации?), скорость увеличилась примерно на 146%, поддержка упростилась и все такое. И пусть решают, внедрять твое или оставить старое.

Мне сейчас достался проект, где тоже куда ни плюнь — фабрика на фабрике, декораторы интерфейсами погоняют, комментарии отсутствуют и т.д. Нужно добавить новую фичу — сижу, трассирую код, чтобы понять, что откуда берется. Почти разобрался. Переписать все заново? Проект огромный, живет уже несколько лет. И, что самое характерное, приносит компании доход. Каковая компания из этого дохода платит мне зарплату. За которую я и занимаюсь этим проектом.
Re[3]: как доходчиво объяснить менеджеру?
От: 0BD11A0D  
Дата: 25.02.16 08:03
Оценка:
Здравствуйте, consign, Вы писали:

BDA>>Можно написать эту функцию(ции) сбоку и передавать управление ей, а вызовы имеющегося кода закомментировать.

C>Нет смысла, поскольку почти весь код — это разбор и конверсия конфигов.

Значит, не «изрядная», а «львиная». Код у вас, конечно, на C++ (иначе, откуда бы все эти проблемы). Черт его знает, без примеров дальше малоконструктивно обсуждать. Я верю, что вам достался over-engineering, но разбор JSON'а на C++ простым и не будет. Насколько его можно упростить, переписав, по сравнению с имеющейся астронавтикой — хз.

UPDATE

Судя по NEST, это C#. Ну, опять же, надо бы сначала взглянуть на код, хотя шансов сильно его сократить больше. Стратегия, возможно, подойдет та же самая.
Отредактировано 25.02.2016 8:10 0BD11A0D . Предыдущая версия .
Re[4]: как доходчиво объяснить менеджеру?
От: _Artem_ Россия  
Дата: 25.02.16 08:39
Оценка:
Здравствуйте, 0BD11A0D, Вы писали:

BDA>Значит, не «изрядная», а «львиная». Код у вас, конечно, на C++ (иначе, откуда бы все эти проблемы). Черт его знает, без примеров дальше малоконструктивно обсуждать. Я верю, что вам достался over-engineering, но разбор JSON'а на C++ простым и не будет. Насколько его можно упростить, переписав, по сравнению с имеющейся астронавтикой — хз.


Странное заявление. В чем проблема разобрать JSON на C++? Легко и просто делается. Применив визитор по типам нодов и что-то типа SAX парсера, все получится очень элегантно.
Re[2]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 25.02.16 10:18
Оценка:
Здравствуйте, Molchalnik, Вы писали:

M>Про код "навырост" — когда-то тоже писал код навырост


В данном конкретном случае, это не код навырост, а просто культ карго. Попытка применения паттернов мартышками, которые не понимают, когда они нужны, а когда — нет.
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 25.02.16 10:20
Оценка:
Здравствуйте, lgb, Вы писали:

lgb>Потом скажешь руководству


Уже обсуждали. За такие штучки любой ПМ по шапке надает, кроме одного их крайне редкого подвида.
Re[4]: как доходчиво объяснить менеджеру?
От: · Великобритания  
Дата: 25.02.16 11:13
Оценка: :)
Здравствуйте, Transformerrr, Вы писали:

T>Наверное В правильном процессе не нашлось места для код ревью

Нашлось. Но когда индусы ревьювят индусов...
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 25.02.16 22:32
Оценка:
S>>В 2006 они сделали первый работающий прототип. (3 года прошло)
S>>В 2008 прототип так и не начал стабильно работать (всего 5 лет прошло), и проект закрыли!

C>Толковых? Ты точно ничего не перепутал?


Тут вот какая проблема. Есть кто реально что-то может сделать, т.е. толковые, а есть кто думает, что что-то может. А есть еще звиздуны. Хороший начальник знает сильные и слабые стороны своих подчиненных, но в том-то и дело, что большинство из них также как и программисты не разбираются в своей работе.
Re[3]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 25.02.16 22:34
Оценка:
S>Гендир там был веселый человек. Помню как он сказал в момент получения работающего прототипа "поздравляю всех вас с тем, что вы научились использовать современные технологии"

Шарпкодер, ответь на вопрос мгу. Мне тоже интересно. И еще мне интересно почему он продолжил вбухивать деньги в проект хотя было видно что программисты не справляются.
Re[3]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 25.02.16 22:40
Оценка: +3 :)
C>В данном конкретном случае, это не код навырост, а просто культ карго. Попытка применения паттернов мартышками, которые не понимают, когда они нужны, а когда — нет.

Чувак, ты чертовски прав! Это плюс тебе. Минус же тебе в том, что ты не можешь плюнуть и работать в рамках существующего кода. То есть ты не senior enough.

Я понимаю что это у тебя что-то вроде типа "крика души," но нужно принять данное как должное. Плохой код (повторюсь, я согласен с тобой что это плохой код и не потому что он чужой, а потому что там "мартышки применили паттерны"!) это издержки нашей профессии. Это нужно принять. Увы.
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 26.02.16 10:15
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>То есть ты не senior enough.


Это смотря по какой шкале считать. С технической точки зрения, выкинуть этот код — единственный разумный вариант. А вот с точки зрения корпоративной политики, всё намного сложнее.
Re[5]: как доходчиво объяснить менеджеру?
От: lgb Канада  
Дата: 26.02.16 12:58
Оценка: +1 :)
Здравствуйте, consign, Вы писали:

lgb>>Потом скажешь руководству


C>Уже обсуждали. За такие штучки любой ПМ по шапке надает, кроме одного их крайне редкого подвида.


Конечно, если ты будешь переделками в рабочее время заниматься. А дома за одно воскресенье, например, сделать правильную версию — какие проблемы вообще? Дольше здесь обсуждать, чем просто взять и сделать.
Re[5]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 26.02.16 23:31
Оценка: +1 :)
ОК>>То есть ты не senior enough.

C>Это смотря по какой шкале считать. С технической точки зрения, выкинуть этот код — единственный разумный вариант. А вот с точки зрения корпоративной политики, всё намного сложнее.


Предложение переписать проект целиком прокатит лишь для небольших проектов вроде "твоего," но в целом это неверно. Есть куча проектов которые тянутся с 70-х-80-х-90-х гг. Миллионы строк кода не самого лучшего качества который непросто переписать. Поэтому, мой тебе совет. Или попроси начальника чтобы он дал задачу автору или плюйся но стисни зубы и сделай что от тебя хотят.
Re[6]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 27.02.16 04:47
Оценка:
Здравствуйте, lgb, Вы писали:

lgb>А дома за одно воскресенье, например, сделать правильную версию — какие проблемы вообще?


Про это уже было выше.
Re[6]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 27.02.16 04:48
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Есть куча проектов которые тянутся с 70-х-80-х-90-х гг. Миллионы строк кода не самого лучшего качества который непросто переписать. Поэтому, мой тебе совет. Или попроси начальника чтобы он дал задачу автору или плюйся но стисни зубы и сделай что от тебя хотят.


Такой подход не подходит другим проектам, поэтому так нельзя сделать с этим проектом. Занятная логика.
Re[7]: как доходчиво объяснить менеджеру?
От: lgb Канада  
Дата: 27.02.16 13:47
Оценка:
Здравствуйте, consign, Вы писали:

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


lgb>>А дома за одно воскресенье, например, сделать правильную версию — какие проблемы вообще?


C>Про это уже было выше.


Можещь пальцем показать, а то не могу найти.
Re[7]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 27.02.16 15:23
Оценка: +1
ОК>>Есть куча проектов которые тянутся с 70-х-80-х-90-х гг. Миллионы строк кода не самого лучшего качества который непросто переписать. Поэтому, мой тебе совет. Или попроси начальника чтобы он дал задачу автору или плюйся но стисни зубы и сделай что от тебя хотят.

C>Такой подход не подходит другим проектам, поэтому так нельзя сделать с этим проектом. Занятная логика.


Это у тебя занятная логика. "Мне этот код не нравится. Поэтому я хочу переписать его." А потом кому-то твой код не понравится (неважно по какой причине!) и тоже захочет переписать. И так каждый раз код переписывать что ли?
Re[2]: как доходчиво объяснить менеджеру?
От: uncommon Ниоткуда  
Дата: 27.02.16 20:27
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>#define _15_ 15


Надо так:

#define T 42


И теперь пусть каждый, кто включит твой header в свой код, мучается понять, почему у него сразу все шаблоны сломались.
Re[8]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 28.02.16 04:30
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>А потом кому-то твой код не понравится (неважно по какой причине!) и тоже захочет переписать. И так каждый раз код переписывать что ли?


Если он сможет сделать это за разумное время и лучше меня, то почему нет?
Re[9]: как доходчиво объяснить менеджеру?
От: lgb Канада  
Дата: 28.02.16 05:04
Оценка:
Здравствуйте, consign, Вы писали:

ОК>>А потом кому-то твой код не понравится (неважно по какой причине!) и тоже захочет переписать. И так каждый раз код переписывать что ли?

C>Если он сможет сделать это за разумное время и лучше меня, то почему нет?

Просто представь себя на месте владельца компании, к которому каждый новый программер приходит с предложением все переписать заново, чтобы стало лучше.
Re[10]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 28.02.16 06:45
Оценка:
Здравствуйте, lgb, Вы писали:

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


Если действительно станет лучше, то почему нет?
Re[9]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 28.02.16 22:51
Оценка:
ОК>>А потом кому-то твой код не понравится (неважно по какой причине!) и тоже захочет переписать. И так каждый раз код переписывать что ли?

C>Если он сможет сделать это за разумное время и лучше меня, то почему нет?


Нет предела совершенству? Так что ли? Тут пойнт в том, что нужно двигаться вперед а не стоять на месте (переписывая работающий хоть и плохой код).
Re[11]: как доходчиво объяснить менеджеру?
От: Олег К.  
Дата: 28.02.16 22:52
Оценка:
lgb>>Просто представь себя на месте владельца компании, к которому каждый новый программер приходит с предложением все переписать заново, чтобы стало лучше.

C>Если действительно станет лучше, то почему нет?


А цели такой и нет. Нужно продолжать двигаться. КПД в 100% недостижим.
Re[10]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 29.02.16 03:38
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Тут пойнт в том, что нужно двигаться вперед


Вот именно.
Re[11]: как доходчиво объяснить менеджеру?
От: lgb Канада  
Дата: 29.02.16 03:42
Оценка:
Здравствуйте, consign, Вы писали:

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


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


C>Если действительно станет лучше, то почему нет?


"Какие ваши доказательства?" (с)
Re[12]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 29.02.16 04:24
Оценка: -1
Здравствуйте, lgb, Вы писали:

lgb>"Какие ваши доказательства?" (с)


Мои доказательства — это история сделанных мной проектов.
А какие ваши доказательства?
Re[13]: как доходчиво объяснить менеджеру?
От: lgb Канада  
Дата: 29.02.16 04:37
Оценка: -1
Здравствуйте, consign, Вы писали:

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


lgb>>"Какие ваши доказательства?" (с)


C>Мои доказательства — это история сделанных мной проектов.


Твои доказательства в данном случае — история переделанных тобой проектов
Вместо того, чтобы тут это бесконечно обсуждать, уже давно сделал бы дома за день и показал результат начальству. Оно пришло бы в восторг, а тебе за это почет, уважение и прочие плюшки. Поделился бы историей успеха и посрамил маловеров.
Re[3]: как доходчиво объяснить менеджеру?
От: Aptekar Россия  
Дата: 29.02.16 07:52
Оценка:
Здравствуйте, consign, Вы писали:

C>Ежу понятно, что вся эта развесистая архитектура создана "под вырост".

C>Проблема в том, что
C>а) сделано много совершенно ненужного
C>б) не хватает нужного, и прикрутить его — крайне геморно

С развесистой архитектурой на вырост очень часто бывает так. Расти ей приходится совсем не в том направлении, куда задумывалось первоначально. Мораль: не пишите развесистых архитектур на вырост, если у вас нет абсолютно чёткого представления, как она будет расширяться. Лучше сразу с примером, который использует возможность расширения.

У меня, если честно, такой код в лучших традициях Гаммы прочно ассоциируется с понятием "23-летний сеньор". Уж не знаю, почему.
Re[4]: как доходчиво объяснить менеджеру?
От: consign  
Дата: 29.02.16 13:55
Оценка:
Здравствуйте, Aptekar, Вы писали:

A>С развесистой архитектурой на вырост очень часто бывает так.


Чуть реже, чем всегда. Про это хорошо Брукс написал.

A>У меня, если честно, такой код в лучших традициях Гаммы прочно ассоциируется с понятием "23-летний сеньор". Уж не знаю, почему.


Ага... в 23 я тоже страдал излишней любовью к паттернам, хотя не до такой степени.
Re: как доходчиво объяснить менеджеру?
От: Vitalich80  
Дата: 01.03.16 22:12
Оценка:
Здравствуйте, consign, Вы писали:

C>Сакраментальный вопрос — как объяснить менеджеру этой чудо-программы, что код — полное говно, и по хорошему это всё надо выбрасывать на помойку? Но так, чтобы он с программистом не уперлись рогом и не записали меня в вечные враги?


Менеджеры любят документы. Я бы попробовал написать небольшой doc типа результаты code review, со списком недочетов и вариантов улучшения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.