Коты и фольга
(Подсмотрено в "Котомемчики" - пожалуй, самая большая коллекция юмора с котиками!)
Сложный код и рабочий прототип
Андрей сидел над архитектурой третью неделю. Он вычерчивал диаграммы, выписывал интерфейсы, просчитывал нагрузки. Каждый класс лежал строго на своём месте, как солдаты на параде. Нарушить принципы SOLID? Ни за что. Покрыть код тестами ниже девяноста процентов? Стыд.
- Андрюх, ну когда уже? - позвал его Пётр из соседнего кубикла.
- Когда спроектирую идеально. Иначе потом переписывать.
Пётр - полная его противоположность. Короткие шорты, выцветшая футболка с принтом «Я программирую как хочу». Он не писал документацию, не заморачивался типами. Он просто брал и делал. Быстро, грязно, но работало.
- А давай я прототип накидаю за пару дней? - предложил Пётр. - Пока ты архитектуришь, заказчик увидит что-то живое.
- Нельзя, - отрезал Андрей. - Прототип - это костыли. Потом переучивать команду, рефакторить месяцами.
- А заказчик ждёт.
Андрей вздохнул. Заказчик ждал. Менеджер уже намекал на штрафные санкции.
На четвёртый день Пётр просто пришёл и показал на ноутбуке готовое приложение. Скромный интерфейс, пара багов, но в целом - работает. Формы отправляются, данные сохраняются, отчёты генерируются.
- Ты зачем? - удивился Андрей.
- Заказчик позавчера звонил, сказал, что если через неделю не увидит демку - разрывает контракт. Я не спал две ночи. Но сделал.
Андрей запустил код. Там было всё: простыни из методов, жёстко зашитые строки, отсутствие проверок типов. Он даже смотреть на это не мог.
- Это нельзя показывать клиенту, - сказал он.
- А ты покажи свою архитектуру. На пальцах. Клиент поймёт?
Андрей промолчал. Клиент на прошлой встрече спросил: «А у вас кнопка будет зелёная или синяя?». Какая ему архитектура?
В тот день Андрей впервые пошёл на компромисс. Он взял код Петра, зарефакторил самое критичное - те места, где данные могли потеряться. Остальное оставил как есть. Добавил пару комментариев для будущих разработчиков и отдал демку.
Клиент обрадовался. Менеджер выдохнул. А Пётр сказал:
- Видишь? Не надо ждать идеала. Идеал - враг хорошего.
Андрей хотел возразить, но вспомнил свой скелет в шкафу. Ровно год назад он проектировал идеальную ERP-систему три месяца. Проект закрыли, не успев начать разработку. А Пётр тогда за две недели набросал прототип для другого заказчика, и тот вырос в прибыльный продукт.
- Ладно, - сказал Андрей. - Ты выиграл. Но документацию будем писать вместе.
- Договорились, - улыбнулся Пётр. - Только кратко. Без диссертации.
Они сели рядом и начали править код. Андрей наводил порядок, Пётр проверял логику. К пятнице у них была готова первая рабочая версия - достаточно качественная, чтобы не стыдно, и достаточно гибкая, чтобы не переписывать с нуля.
Через месяц заказчик подписал акт приёмки. В курилке Пётр сказал:
- Знаешь, без тебя я бы накостылял так, что через полгода никто не разобрался бы.
- А без тебя, - ответил Андрей, - я бы до сих пор чертил диаграммы.
Они засмеялись. И поняли: идеальный код - это не тот, который написан по всем правилам. И не тот, который работает любой ценой. А тот, который написан совместно.
Мучаетесь с пищевой плёнкой и фольгой? Вот вам диспенсер
Вот он на Али https://aliexpress.ru/item/1005002883878782.html
Реклама: АЛИБАБА КОМ (РУ) ИНН 7703380158
Водка в стакане с крышечкой из фольги
Вы в телевизоре
@user10408311, @Stebosaurus, @Khankala28, @de4man,
Исходный пост Отцы и дети
Куплет про Синий Трактор
По полям, по полям,
синий Трактор едет к нам.
Газу Тракторист даёт,
груз за ТриСта нам везёт!
