- Ты сразу стал писать идеальный код?
- Нет, только через год.
- Когда скромность упала.
- А ещё через год отвалилась самокритика, и стал учить писать других.
Главный Тролль команды Z# объясняет пробрасывание исключений в жутко связанной логике классов с наследованиями:
- Каждый родитель должен следить за всеми своими детьми, и чтобы все дети были равны друг перед другом. Вот ты так программированием и жить научишься.
- Я домой хочу.
- Я тоже.
- Надо делать коммит.
- Но мы в этом никак не связаны.
- Если твой коммит сломает билд, мы окажемся очень сильно связаны.
Про удалённо работающую команду, которую тимлид регулярно ругает:
- Как они ко мне могут относиться? Кто я для них? Гавкающие наушники.
Третий месяц команда занимается рисованием зоны обзора, переводом углов из одной системы координат в другие и кучей других страшных тригонометрических заморочек. Написание нового функционала чередуется с исправлением то и дело выползающих багов.
2 дня до релиза.
- В релизе ведь тоже вылезет эта тригонометрия?
- Конечно.
- Тогда нас могут спасти только юнит-тесты на всё.
- Но для тестов тоже нужно знать тригонометрию.
- У нас нет шансов.
- Вы хотите усложнить то, что и так усложнено до невозможности. У вас может получиться.
- Слушай, как ты думаешь, сколько будет, если 344 разделить на 43. С остатком или без?
- С остатком, наверное. Примерно 8. Но мне надо подумать.
- Нет, в этом всё дело. Не думая, сколько будет, если разделить? Оказывается, ровно 8!
- База говорит: "Не буду я ничего делать". И сервер грустит в лог.
Название бага: "Лишняя мерцающая полоса на видео вызывает в пользователе чувство глубокой печали"
Последовательные коммиты кода с комментариями:
- Некомпилирующийся кусок кода перехода на эвенты 2
- Компилится, видео идет. Теперь банановый
- Вот теперь точно комититься но нвр не работаит
- А теперь и нвр "работаит".
Обсуждение ревью или троллинг тролля: "Чтобы его придирку удовлетворить, напиши, что <длинный текст, смысл которого сводится к тому, что изменение по факту не нужно>. Желательно на английском, чтобы он потренировался".
Обсуждение мнопользовательского поведения модуля программы (ConfigurationManager):
- Предположим, мёртвый человек захватил СМ...
Спор по поводу обработки растровых и тайловых карт. Оппоненты к единому выводу не приходят.
- ...И вообще, спроси у Жени.
- Женя, ты что-нибудь умное скажешь?
- Ммм... параллелепипед.
В процессе ревью моего юнит-теста Главный Тролль команды Z# начал подозрительно хрюкать.
- Что ты смеёшься?!
- Я нашёл тут женскую логику. Меня это умиляет.
- Где?
Показывает метод, где сравнение каждого из сложных членов объектов (объектов, содержащих другие объекты) реализовано многоэтапной конюъюнкцией.
- Это как "я хочу мужа, и красивого, и умного, и при деньгах, и с самой хорошей машиной", т.е. всё сразу. Нормальный мужчина бы так не написал, его раздражает такая строка, он разбил бы всё на этапы.
После исправления этого же теста он же:
- Ну вооот, ты уже постепенно становишься мужчиной...
- У нас Дима как ежедневная газета. Исправления выходят каждый день. Невозможно ревьювить.
- (с ужасом) Костя! Ты написал это описание на 21 страницу! Скажи, сколько было в твоей диссертации?
- 180 где-то.
- А сути там было на сколько?
- Страниц 20.
- И где тогда тут суть искать?
- В последнем разделе.
- Если бы ты была xml-парсером, то из двух одинаковых узлов какой бы ты выбрала? (недопустимая ситуация)
- Я бы заверещала, что вы мне фигню какую-то подсовываете.
Из документа по предложению функциональности:
Принудительное закрытие CM. Предлагается сделать этот процесс дружелюбным.
Осторожно! Большой объём нового кода может принести вред здоровью Вашей команды!
(о нарисованном интерфейсе)
Отличная работа! Хуже просто не придумаешь!
- Можем мы поиметь тут проблемы?
- Можем. Мы с этими проблемами так всех поимеем...
Отдел тестирования и издевательств над продуктами