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."
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.