Наша планета называется The мля. |
Жизненное. |
Сегодня прямо день каких-то нехороших событий.
Сначала на работе подрядчик, опаздывающий с кодом заказанного ему продукта на год, внезапно решил всё-таки сдать продукт. Я присутствовал при передаче в качестве приглашённого эксперта, слушал рассказы представителей подрядчика и всё совещание просидел с фейспалмом, а потом написал разгромный отчёт на тему «Как я бы составил архитектуру этого продукта, если бы умел». Отдельной изюминкой была фраза подрядчика о том, что они подряжались только на код, поэтому никакой документации, никаких сопроводительных данных к продукту идти не будет. Даже банальных UML-диаграмм, и тех не будет. Вы заказывали код? — Вот вам файлы .cpp и .h, компилируйте на здоровье. Кода много, проект размером в несколько миллионов строк; часть кода «мёртвая», то есть не вызывается ни при каких условиях; часть безбожно тормозит, потому что заботливо переносилась ещё с арифмометров «Феликс» без рефакторинга; а ещё одна часть просто кривая, как зеркала в комнате смеха. Как это поддерживать, развивать и улучшать (а улучшать надо, потому что уже сейчас запас по времени в каждом 181-микросекундном цикле меньше 10 микросекунд; это значит, что в случае малейших проблем во входящих данных система просто гикнется), я даже думать боюсь. В качестве парфянской стрелы: по контракту, подрядчик будет отвечать на вопросы по коду только фиксированный срок; что-то около двух месяцев, после чего разом забывает весь проект, как страшный сон. После этого прекрасного момента вся техподдержка продукта ляжет — угадайте, на чьи плечи.