Выбрать главу

Ануша надулась и почти испепелила своего парня взглядом. Вроде бы умный и почти гениальный, но не понимает базовых истин — что можно говорить в присутствии женщины.

— Переломайте пальцы этому дебилу и сохраните тем для компании кучу денег, — продолжил цитировать Роубаяси. — Я влюбился!.. в переносном смысле. В эти комментарии, а не их автора, я с этой Аоямой даже не знаком. Но хотел бы я, чтобы она потестировала мой код.

— Даже мне этот модуль кажется плохим, сплошным антипаттерном, а я слабый программист, — призналась Ануша, глядя через плечо Сандо. Скромничает, отличный она разработчик. В Тэнтёвадо очень довольны ее работой над внедрением шаблонизатора.

— Погодите! Должен отправить скрин этого куска кода Такахаси! Я никогда не думал, что найду кого-то, кто пишет еще кошмарнее него, — рассмеялся кодер, продолжая изучать материалы, — жаль, пометки тестировщицы закончились. Очень остроумно этого говнокодера подкалывает, уржаться.

— Вот, смотрите сюда! — привлек наше внимание разработчик, в полном восторге ткнув пальцем в монитор. — Вы поглядите, что он пишет!

На экране красовалось.

user_access_level ≡ 7

— Это проверка на уровень доступа, даже примитивному бухгалтеру понятно что тут написано, — не сообразил я.

— Макото, так делать нехорошо, — пояснила Махараджако. — Это константа внутри логики.

— Дальше Рика-тян в своем комменте объясняет, — показал Сандо.

«Магическое число 7. Это что? Твой счастливый номер? Количество твоих извилин? Или столько секунд этот сервер проработает до падения? Вынеси это в конфиг, придурок! Никто, кроме тебя, не знает, что значит эта цифра.»

— Ох, какая она потрясающая. Ниида, ты ведь вхож к начальству, вы с Сибаей-саном приятели. И с младшим Окане. Давай её наймем! А вот сюда посмотри:

«Я успела сварить кофе, выпить его, выйти замуж и состариться, пока твоя функция обрабатывала массив из ста элементов. Оптимизируй это, пока процессор не подал на нас в суд за жестокое обращение.»

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

— А это не слишком грубо — комментировать чужой труд в таком стиле? — уточнил я. У нас в стране не зря принято быть вежливыми и стараться никого не обидеть.

— Эта прямота — самая потрясающая часть. Она не стесняется называть вещи своими именами.

— Мы не сможем нанять эту девушку. Она умерла, — сказал я, испытывая неподдельную тоску по ехидной тестировщице. — Роубаяси, ты не мог бы закончить ее работу? Просмотреть модуль до конца и отметить, что в нем не так? Желательно так, чтобы глупый бухгалтер вроде меня понял. Но сильно можешь не упрощать, Ануша мне поможет.

— Умерла? Вот же… прости, Ниида, я не знал. Очень жалко её. И как специалиста, и как человека. Я сделаю, сегодня же к вечеру получишь. Этот код так плох, что даже ламер вроде… такой, как ты, мог бы его разнести в пух и прах.

Не обманул. Остаток дня мы провели в гостях у Ханы-сан, а по дороге в обратно в Йокогаму мне в почту упало письмо от неподтвержденного потомка Токугава.

Вечером настала моя очередь писать. Множество писем примерно одинакового смысла:

'Эй, недотёпа, ты думал, что моя смерть остановит код-ревью?

Как бы не так! Ты меня всего лишь немного замедлил! Я в аду меньше страдаю, чем глядя на то, что ты зовешь программированием.

Итак, класс UtilsManagerHelperController…

500 методов! Ты запихнул сюда всю логику приложения. Это не класс, это свалка, куда ты сваливаешь всё, что не знаешь, куда положить. Разделение ответственности? Принципы SOLID? Нет, не слышал. Читать этот кодкак пытаться распутать проводные наушники, что лежали в кармане запутанными целый год. Или лапшу! Меня тошнит от одного процесса скроллинга.