[an error occurred while processing this directive]
Вот в тему анек на 2 страницы. Может все уже читали, но все же (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено abivan 20 декабря 2002 г. 15:08
В ответ на: предлагаемая тема пятничного флейма ... отправлено не гений (и не от сохи) 20 декабря 2002 г. 06:43

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

А в это время, в соседних четырех кубиках, будет ни на секунду не
утихать работа китайских программистов, непостижимым образом
умудряющихся прийти раньше русского программиста, уйти позже, и при этом
сделать примерно втрое меньше. Эта четверка, давно не пишет никакого
кода, а только поддерживает код написанный, в свое время индусом и
дважды переписанный двумя разными русскими. В этом коде не просто живут
баги. Здесь их гнездо. Это гнездо постоянно воспроизводит себя при
помощи любимой китайской технологии реиспользования кода – copy&paste.
Отсюда баги расползаются в разные стороны посредством статических
переменных и переменных переданных по ссылке (поскольку, китайский
программист не может смириться с неудобствами вызванными тем, что он не
может изменить значение внешней переменной переданной в его функцию
модулями, которые переписывает русский программист). Вспоминая об этой
функции русский программист, как правило на время теряет дар английской
речи, и переходит к какой-то помеси русского и китайского. Он давно
мечтает переписать весь кусок, над которым работают китайцы, но у него
нет времени.

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

О, канадский программист это особый тип. Он ни на минуту не задумываясь,
как рыцарь без страха и упрека, бросится фиксить самый свирепый баг
китайского кода. Этот Баг живет там уже три года, и китайцы уже
четырежды (каждый по разу) сообщали начальству, что он пофиксен. Но Баг
каждый раз возвращался, как Бетмен в свой Готхем.

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

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

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

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru