ФОЛЬКЛОР ПРОГРАММИСТОВ
ДРУЗЬЯ, С ДНЕМ ПРОГРАММИСТА!!
У программистов есть свой фольклор — набор шуток, суеверий и «ритуалов», которые помогают справиться почти со всем в этой хаотичной сфере. Алиса подобрала для вас самые известные.
ПРИМЕТЫ ПРОГРАММИСТОВ
Если новая программа с первого раза компилируется без ошибок — она написана принципиально неправильно.
Если к вам перестали поступать жалобы на вашу программу — значит, ею уже никто не пользуется.
Ошибки легче всего делаются и труднее всего обнаруживаются в самых простых местах программы.
Чем больше заказчик понимает в программировании, тем больше он мешает работе.
Чем точнее программист выполняет требования заказчика, тем бестолковее получается программа.
Нет более живучих программ, чем заплатки, сделанные на скорую руку.
Плохая примета — моргнуть в 5 утра (за 4 часа до сдачи кода).
Переменная temp, tmp, x1, data2 — если ты назвал переменную так, жди беды! Через неделю ты не вспомнишь, что в ней лежит, и потратишь час на чтение кода.
Магические числа — 裸-е числа в коде без объяснения — к долгой отладке.
СУЕВЕРИЯ И РИТУАЛЫ ПРОГРАММИСТОВ
Принцип «Работает? Не трогай!» — если система функционирует, даже с глюками, её лучше не трогать. Любое изменение старого кода может пробудить «демонов».
Пятница — день тьмы. Релизы в пятницу считаются рискованными: если что-то сломается, чинить придётся в выходные.
Кофе как оберег. Чашка кофе на столе перед важным деплоем — обязательный ритуал.
«Счастливая» клавиша. Некоторые верят, что нажатие пробела или Enter левой рукой приносит удачу.
Файл-оберег. На рабочем столе или в корне проекта можно встретить файлы с названиями вроде good_luck.txt или do_not_delete.md. Их удаление якобы ведёт к краху системы.
Комментарии-заклинания. В коде иногда оставляют комментарии вроде // Не меняй это, иначе всё сломается!
Проклятый номер версии. Например, релиз 13.0 иногда пропускают из-за суеверий.
ПРОКЛЯТИЯ И ЛОВУШКИ
«Поправлю за пять минут» — самое опасное обещание в IT. Если сказать «это быстрая правка», она гарантированно потянет за собой три часа отладки, два новых бага и один рефакторинг.
«Уйду пораньше сегодня» — равносильно вызову демона. Произведение не установится, сервер упадёт, заказчик вспомнит про фичу, которую отложили полгода назад.
Закон сохранения багов — за каждый исправленный баг в коде появляется новый. Количество багов в системе — величина постоянная.
Проклятие чужого кода — трогать чужой работающий код нельзя. Ты открываешь файл, чтобы исправить одну строчку, и обнаруживаешь, что всё остальное держалось на честном слове и комментарии // не трогать, не знаю почему, но без этого не работает.
Ловушка «последней правки» — фраза «всё, больше ничего не трогаю, последний коммит и спать» почти всегда означает, что до сна ещё далеко.
РИТУАЛЫ И ТАЛИСМАНЫ
Резиновая уточка — метод отладки, при котором программист объясняет свой код резиновой уточке (или другому предмету) строчка за строчкой. Половину багов обнаруживаешь ещё до того, как уточка «ответит».
Уйти от компьютера — если бьёшься над проблемой часами, нужно отойти. Решение приходит в душе, в лифте, по дороге за кофе или ровно в тот момент, когда ты уже нажал «Отправить» в баг-трекере с описанием нерешаемой проблемы.
Не комментировать, не коммитить и не деплоить, если устал — после бессонной ночи правки выглядят логичными, а утром оказывается, что ты сломал то, что работало.
«Постучать по дереву» перед запуском билда — классика, адаптированная под IT. Можно стучать по корпусу сервера (очень аккуратно).
ЗАКОНЫ МЁРФИ ДЛЯ ПРОГРАММИСТОВ
Закон приоритета бага — баг проявляется тем сильнее, чем меньше у пользователя квалификации и чем важнее для него результат.
Закон тестировщика — если компонент протестирован и работает, значит, тестировщик тестировал не то, что нужно пользователю.
Закон сроков — первые 90% кода занимают 90% времени, оставшиеся 10% кода — ещё 90% времени.
ПОВЕРЬЯ
Хакатон проклинает сон — на хакатоне не должно быть кроватей. Если кто-то лёг спать на хакатоне, проект проиграет.
Новичок ломает легаси — если посадить нового разработчика на старый проект, он найдёт баги, о которых все давно забыли, и задаст вопросы, на которые никто не знает ответов.
