MBR (mbr) wrote,
MBR
mbr

Category:

программисты

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

Потом в нем шевельнется сомнение в том, сколько времени это займет, и остаток
дня русский программист потратит на то, что будет доказывать самому
себе, что это только кажется, что переписать это много работы. А если
взяться и посидеть немного, то все получится. Зато код будет красивый и
правильный.На следующее утро русский программист свеж, доволен собой и без единой
запинки докладывает начальству, что переписать этот кусок займет один день, не больше.
Да, не больше. Ну, в крайнем случае, два, если учестьвсе риски.В итоге начальство даст ему неделю и через полгода процесс будет успешно
завершен. До той поры, пока этот код не увидит другой русский
программист. А в это время, в соседних четырех кубиках, будет ни на секунду не
утихать работа китайских программистов, непостижимым образом
умудряющихся прийти раньше русского программиста, уйти позже, и при этом
сделать примерно втрое меньше.Эта четверка, давно не пишет никакого кода, а только поддерживает код
написанный, в свое время индусом и дважды переписанный двумя разными
русскими. В этом коде не просто живут баги. Здесь их гнездо. Это гнездо
постоянно воспроизводит себя при помощи любимой китайской технологии
реиспользования кода - copy/paste. Отсюда баги расползаются в разные
стороны посредством статических переменных и переменных переданных по
ссылке (поскольку, китайский программист не может смириться с
неудобствами вызванными тем, что он не может изменить значение внешней
переменной переданной в его функцию модулями, которые переписывает
русский программист).Вспоминая об этой функции русский программист, как правило на время
теряет дар нглийской речи, и переходит к какой-то помеси русского и
китайского. Он давно мечтает переписать весь кусок, над которым работают
китайцы, но у него нет времени. На китайцах висят серьезные баги, о
которых знает начальство и постоянно их торопит. Китайцы торопливо
перевешивают баги друг на друга, поскольку знают, что попытки их
починить приведут к появлению новых, еще худших. И в этом они правы.
Разобраться в том, в каком порядке меняются статические переменные, и
как приобретают свои значения, способен только один человек на фирме -индус.
Но он пребывает в медитации.Поэтому, когда всю четверку уволят во время сокращения...
А кого ещеувольнять? Русский - еще не переписал свой кусок, а индус - главная
ценность фирмы - он редко обращает внимание на проект, но когда
обращает, все понимают, что так как он, архитектуру никто не знает.
Так вот, когда китайцев увольняют, у их кода возможны две основныесудьбы.
Первая - он попадет к русским и его перепишут. Вторая - он
попадет к местному, канадскому программисту.О, канадский программист это особый тип.
Он ни на минуту не задумываясь,как рыцарь без страха и упрека, бросится фиксить самый свирепый баг
китайского кода. Этот Баг живет там уже три года, и китайцы уже
четырежды (каждый по разу) сообщали начальству, что он пофиксен. Но Баг
каждый раз возвращался, как Бетмен в свой Готхем.Итак, канадский программист сделает то, чего китайцы не рисковали делать
в течении трех долгих лет. Он, при помощи дебагера, отследит место, где
статическая переменная приняла значение -1 вместо правильного 0, и
решительным движением заведет рядом вторую переменную с правильным
значением. Баг погибнет в неравной схватке с канадским программистом.
Но победа будет достигнута тяжелой ценой. Работать перестанет все,
включая только что переписанный русским программистом код. Это повергнет
русского программиста в задумчивость на целых два дня, после чего он
сделает, в общем-то, предсказуемый вывод о том, что дизайн с самого
начала был неправильным, и все надо переписать. На это нам нужна неделя.
Да, неделя, не больше.Канадский программист смело бросится налаживать все,
и станет еще хуже,хотя казалось бы...Эта суета выведет из медитации индуса, который придумает и вовсе
гениальное решение - отбранчить код. Согласно его плану, мы теперь будем
поддерживать две версии одного и того же кода - одну работающую но с
Багом, другую без Бага, но не работающую. Русский программист услышав об
этом плане, сломает линейку об стол и дома обзовет жену дурой, но на
митинге возразить не решится.К счастью, все это не сильно влияет на дела фирмы, поскольку продукт
продается и так. Поэтому менеджмент ходит в целом довольный и не устает
напоминать всем, что они отобраны как лучшие среди лучших. И что мы
давно доказали свою способность выпускать продукт тем, что выпускаем его иногда.
http://vlad.motiw.ru/Programmers.txt

---
Не знаю насчет индусов и китайцев, но насчет русских - истинная правда... Прямо в данный момент, отдыхая от написания очередного куска: полностью переписал модуль импорта, однако в новом виде решил, что способ передачи даты малость некрасив.. Будет немного неудобно превратить модуль в дальнейшем в экспертную систему... Однако, вместо того, чтобы просто изменить формат передачи данных подумываю - а не создать ли внутренний интерфейс (а-ля ком) для передачи параметров в плагин импорта... Естественно, для этого потребуется немного переделать пользовательский интерфейс... Ну и значительно переписать внутреннюю структуру, формат плагинов и поковыряться в основных таблицах базы.. Делов на пару дней максимум :)
Subscribe

  • Победил битрикс

    Раньше рассказывал, как мы пытаемся битрикс внедрить. Сначала просто дал задачу вебщику подергать странички и собрать отчет по линкам. Ад. Там…

  • Советский инженер - это звучит гордо

    Порадовался с последнего стеба vladimir_akinin над программистами. Однако в комменты выползло какое-то количество старых пердунов,…

  • Сезон 2021

    Весна началась, а значит пора новой стройки Делать пристройку в этот раз решил полностью по платформе, дабы не переломали все ноги, выходя из…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1 comment