Особенности национальной промышленности. Павел Петрович Михайлюк

Читать онлайн.
Название Особенности национальной промышленности
Автор произведения Павел Петрович Михайлюк
Жанр
Серия
Издательство
Год выпуска 2025
isbn



Скачать книгу

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

      Когда мы имеем дело с запутанным кодом, мы обычно говорим – "темный лес". Но ЭТО – даже не лес! Это похоже на выжженный после падения Тунгусского метеорита и зараженный радиацией бурелом, в котором уродливые, покореженные деревья сплелись в оцепенелых объятьях, ощетинившись ядовитыми иглами dynamic_cast-ов! На этих исковерканных мертвых деревьях паразитируют безобразные ленточные черви switch-case-конструкций, глумливо извивающиеся на десятки страниц! Они плодятся как зомби после ритуала Вуду, подстегиваемые порочной практикой copy-paste.

      Среди бурелома кровавой, всепроникающей жуткой мглой течет туман магических переменных, большинство из которых называются los_parametros_N. Бесстыдно обнажаются plain-C-объявления функций, двойные указатели рябят в глазах, оттесняя сиволапые и неуклюжие циклы, в которых место простых переменных высокомерно заняли итераторы. Корявые и глючные, STL-подобные контейнеры подобно клещам-сосальщикам гнездятся в интерфейсах framework-a.

      И над всей этой безобразной, остервенелой, погрязшей в безумстве и распутстве клоакой, зловонным какодемоном возвышается основной класс, cpp-файл которого насчитывает без малого 10000 строк! Горе тому, кто заглянет в его гниющее нутро! Разнообразные функции безо всякого разбора громоздятся одна на другую. Вложенность циклов и if-else-конструкций легко разменивает второй десяток. Любая логика здесь оступается и с воплем проваливается в смердящую трупной вонью бездну!

      Всплески радости и волны отчаяния накатывают на меня во время компиляции этого кода! Я жалею только об одном: почему разработчики компилятора gcc не оснастили свое детище выходом на звуковую карту? Я бы с превеликим удовольствием посмотрел на лица авторов этого говнокода, когда компилятор раз за разом воспроизводил бы подобающие случаю булькающие и пердящие звуки!!!

      Я так увлекся написанием этого текста, как не заметил, что сзади меня кто-то стоял и читал мое письмо.

      – Смешно, это про что ты пишешь?

      Я вздрогнул и оглянулся. С благодушной улыбкой на лице сзади меня стоял Якорь со своей неизменной кружкой с чаем (на самом деле не чаем).

      – Виталий Юрьевич дал мне задание написать код для новой верхней панели и дал исходники от пожарной станции как образец, а я в них никак разобраться не могу.

      – Так это я делал! – воскликнул Якорь. – Что тебе там не понятно?

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