Павел Михайлюк – Особенности национальной промышленности (страница 8)
– На самом деле их всех нет! – отвечает Якорь.
Мы с Вовой берем пиццу и отходим к окну.
– Я тут с мамой Даши познакомился, она оказывается в бухгалтерии работает.
– Это многое объясняет, я все думал, как это юное дарование вообще на работу взяли, – влезает в нашу беседу непонятно откуда взявшийся эколог.
– А ты чего пиццу с мясом жрешь? Ты же веган? – агрессивно спрашивает Вова.
– Пицца – это настолько эротично, что даже веган не может устоять в отличие от твоей Даши, – парирует эколог.
– Что ты хочешь от Даши? – повышая голос спрашивает Вова.
– От Даши я ничего не хочу! – ржет в ответ Ваня.
Вова краснеет, я чувствую, что сейчас будет скандал и увожу его показать свой кабинетик.
– Как там у тебя с Дашей? – спрашиваю я его по пути.
– Знаешь сколько ей лет?
– Откуда я могу это знать, я же не в бухгалтерии работаю.
– Ей 27 лет. На обеде я затащил ее к себе. Она полежала со мной в кровати, поплакала, сказала, что еще девственница, не готова к отношениям и предложила дружить.
– Дааа… Дружбой ночью не займешься. Есть еще 27-ми летние девственницы?
– Я вообще потерялся по жизни, я уже сомневаюсь, смогу ли я когда-нибудь нормально работать? Или буду тут вечно торчать и бездельничать? – начал ныть Вова.
– Наберешься опыта и пойдешь в иностранную компанию, не переживай.
– Это ты может сможешь так сделать, а я уже в Липецке так отсидел, сбежал, приехал сюда и тут тоже самое. У нас не контора, а школа сисадминов.
– Почему сисадминов?
– Большинство молодежи, которая отсюда увольняется не может работать как программисты, потому что так ничему и не научились, при этом сильно разленились. У самых толковых получается стать системными администраторами, у остальных все сводиться к бездумному хождению между почти одинаковыми конторами. Так что не засиживайся тут.
Если ты случайно вспотел – покажись начальству
Пока Вова погрузился в отношения с Дашей я погрузился в работу. Однажды утром, устав разбираться в исходниках пожарной станции, я начал сочинять такое письмо для Вовы:
Дорогой друг! Пока ты играешь в заброшенном цеху с Дашей в теннис, я хотел бы описать тебе то, с чем приходится иметь дело каждый день, то, что вызывает нескончаемое отвращение и боль в кишечнике. Не удивляйся, что в описании этом ты не встретишь слова "дизайн", равно как и слова "архитектура", не говоря уж о таких нежно любимых мною словосочетаниях как "разделение функциональности" и "управление сложностью". И наверно, ты уже догадываешься, почему. Дело в том, что эти красивейшие и благозвучнейшие термины, к моему великому прискорбию, невозможно употребить для описания переданных мне исходников.
Когда мы имеем дело с запутанным кодом, мы обычно говорим – "темный лес". Но ЭТО – даже не лес! Это похоже на выжженный после падения Тунгусского метеорита и зараженный радиацией бурелом, в котором уродливые, покореженные деревья сплелись в оцепенелых объятьях, ощетинившись ядовитыми иглами dynamic_cast-ов! На этих исковерканных мертвых деревьях паразитируют безобразные ленточные черви switch-case-конструкций, глумливо извивающиеся на десятки страниц! Они плодятся как зомби после ритуала Вуду, подстегиваемые порочной практикой copy-paste.
Среди бурелома кровавой, всепроникающей жуткой мглой течет туман магических переменных, большинство из которых называются los_parametros_N. Бесстыдно обнажаются plain-C-объявления функций, двойные указатели рябят в глазах, оттесняя сиволапые и неуклюжие циклы, в которых место простых переменных высокомерно заняли итераторы. Корявые и глючные, STL-подобные контейнеры подобно клещам-сосальщикам гнездятся в интерфейсах framework-a.
И над всей этой безобразной, остервенелой, погрязшей в безумстве и распутстве клоакой, зловонным какодемоном возвышается основной класс, cpp-файл которого насчитывает без малого 10000 строк! Горе тому, кто заглянет в его гниющее нутро! Разнообразные функции безо всякого разбора громоздятся одна на другую. Вложенность циклов и if-else-конструкций легко разменивает второй десяток. Любая логика здесь оступается и с воплем проваливается в смердящую трупной вонью бездну!
Всплески радости и волны отчаяния накатывают на меня во время компиляции этого кода! Я жалею только об одном: почему разработчики компилятора gcc не оснастили свое детище выходом на звуковую карту? Я бы с превеликим удовольствием посмотрел на лица авторов этого говнокода, когда компилятор раз за разом воспроизводил бы подобающие случаю булькающие и пердящие звуки!!!
Я так увлекся написанием этого текста, как не заметил, что сзади меня кто-то стоял и читал мое письмо.
– Смешно, это про что ты пишешь?
Я вздрогнул и оглянулся. С благодушной улыбкой на лице сзади меня стоял Якорь со своей неизменной кружкой с чаем (на самом деле не чаем).
– Виталий Юрьевич дал мне задание написать код для новой верхней панели и дал исходники от пожарной станции как образец, а я в них никак разобраться не могу.
– Так это я делал! – воскликнул Якорь. – Что тебе там не понятно?
После небольшой дискуссии стало понятно, что исходники писались разными людьми в разное время, код мигрирует из одного проекта в другой и давно зарос лишними ветками, функциями и классами, документации на него никогда не было. Его давно надо было почистить, но никто этого делать не хотел. При этом загрузка у программистов была не очень большая, по большей части они бездельничали, но рефакторингом заниматься не спешили. После небольшой борьбы с кодом Якорь помог мне его скомпилировать, и посоветовал не лезть внутрь, а лишь дописать и изменить код в нужных местах.
– Плох тот программист, который ругает чужую работу, а сам не может ее продолжить. В крайнем случае будет у тебя время – отрефакторишь, – резюмировал он.
После завершения разработки программы я создал специальный имитационный модуль, который генерировал поток сообщений, и на корабле, изображенном на верхней панели, задвигались пушки, замигали разными цветами пиктограммы, начала отображаться информация о состоянии всех систем. Энтузиазм у меня был такой, что я снова перестал ходить играть в теннис и выходить на прогулку в обеденное время. Вова один раз подошел ко мне, но поняв, что я очень занят, переключился на Дашу и больше работать мне не мешал.
Даша взяла конструкторскую документацию от пожарного пульта, заняла в нормоконтроле новые децимальные номера и положила в архив копию старой документации под новыми номерами. Таким образом мы закончили проектирование и отдали всю документацию в производство. Я пошел доложить Виталию Юрьевичу. Он уважительно сжал губы и посмотрел на меня одобрительно качая головой.
Пожар
Я шел по директорскому коридору. За стремительную разработку верхней панели мне объявили благодарность с занесением в трудовую книжку, о чем я и шел ознакомиться в отдел кадров. В коридоре я встретил девочку лет четырех-пяти. На спине у нее была приколота бумажка: «Если встретите эту девочку, приведите ее, пожалуйста, в отдел кадров, к. 217». Я очень люблю детей, поэтому, улыбаясь, спросил ее:
– Привет! Ты откуда?
– Я из отдела кадлов! – бойко ответила девочка.
– О! А мне как раз туда! Покажешь где это?
Девочка деловито взяла меня за руку и отвела в 217 кабинет. Там мне дали ознакомиться с новой записью в трудовой книжке: «Объявить благодарность за проявленную инициативу при разработке верхней панели морского пульта и большой личный вклад в освоении данного изделия в производстве». Кроме этого, дали копию приказа с пространным хвалебным текстом. По пути обратно в свой кабинет я встретил Вову и показал ему копию приказа. Он прочитал и спросил:
– И даже премию не дали?
– Нет.
– И зарплату не повысили?
– Тоже нет.
– Ну отлично. Еще бы написали: «Похлопать по спине».
– Ага, – засмеялся я. – Или «Похлопать ниже спины».
Вова было рассмеялся, но тут же поник.
– А у меня в коммуналке пожар был.
– Да ты че?
– Да, хозяин сдавал свою комнату, на эти деньги бухал, а сам жил на кухне, спал на диване. Заснул пьяный и сигарету не потушил. В итоге коммуналка ночью вся сгорела, так как там весь коридор был застроен самодельными этажерками, где все хранили разный хлам. Я еле выскочить успел, а хозяин сгорел.
– Да, не повезло.
– Не повезло знаешь в чем? В том, что это было очень, очень дешево. Других таких предложений в этом районе я не нашел. Я пока живу в гостинице, но это очень дорого для меня. Вот смотри, какое я объявление нашел. Вова протянул мне мятую бумажку, на которой я прочитал:
Сдам разъебанную в хлам комнату в коммунальной квартире 6 кв. м. в центре 10 000р., для настоящих экстремалов со стальными яйцами! Есть практически все, но все не пригодно к использованию. За то я новый кран в ванной установил, шторы постирал и ведро с тряпкой купил, микроволновка в подарок, а также весь хлам, который остался от предыдущих жильцов! Комната хорошо впишется в интерьер САДОМАЗО или какой-нибудь склад. А еще, я готов купить мешок цемента, строительные средства чтобы устранить казусы, о которых вы еще не знаете, но это пока сюрприз. Все тайны сразу не открою. Возможны варианты понижения оплаты, коммуналка оплачивается ОТДЕЛЬНО! + покажу как не платить за электричество. СУППЕР ПРЕДЛОЖЕНИЕ ДЛЯ ДОЛГОЖИТЕЛЕЙ С ПЕРСПЕКТИВОЙ В БУДУЩЕЕ! ПОНИЖЕНИЕ ОПЛАТЫ: за 9 000 р. в мес. если оплачиваете 6 мес вперед, за 7 000 р. в мес. если оплачиваете 12 мес. вперед. Так же, если сделаете ремонт – оплата остается прежней. Для очень жадных: могу сделать хороший ремонт, но тогда уже будет от 15 000 р. в мес. + коммуналка. Для риэлторов и желающих так сказать пощекотать нервы и пощупать все наяву – просмотр платный от 200 р. за визит. Просмотр из коридора 100 р. просмотр одним глазом 50 р. ГРУППОВЫЕ ЭКСКУРСИИ 10 р. с человека (не менее 10 чел.), просмотр с улицы в окно -БЕСПЛАТНО! В связи с моей загруженностью по работе вынужден сделать такой тариф, нужна компенсация. Есть плюсы: 1 – это лучше, чем жить на улице, 2 – хуже вы уже не сделаете, 3 – нету тараканов и прочей живности, так как они тут не выживают, 4 – если у вас есть кошка, то я не парюсь за ободранные обои, 5 – если у вас есть собака, соседи там глухие пусть хоть завоется, 6 – затопить вы сможете только бомжей в подвале, 7 – я отличный парень со мной можно договориться!