bga68 (bga68) wrote,
bga68
bga68

Categories:

В чём сложность поддержки большого проекта? (Баян с продолжением)

Есть много умных книжек о коммуникациях и коммуницирующих.
ЭТО происходит абсолютно во всех сферах жизни.
Проекты. Большие и маленькие.
Люди. Гениальные и мелкие.
Намного лучше себя чувствуешь, когда понимаешь, что ЭТО не только в моей жизни происходит.
Приходит на ум только:
Кто в армии служил, тот в цирке не смеется...
Из песни слов не выкинешь...
Кто в лес, а кто по дрова...
В огороде бузина, а в Киеве - дядька...
И другие подобные шедевры народного творчества.

Сие творение нашлось на необъятных просторах.
Уже трудно установить источник.
Эта ветка вариаций темы мне понравилась больше других.
Еще раз - про т.н. тыжпрограммистов.
В ЖЖ по моим тегам тыжпрограммист можно отыскать еще несколько постов.
Чуть-чуть убрал сложность восприятия Пикабу. Сорри.
Итак.

В чём сложность поддержки большого проекта? (Баян с продолжением)
shadow1024 (https://pikabu.ru/story/v_chem_slozhnost_podderzhki_bolshogo...)
28 октября 2016 в 14:20

Маркетолог спрашивает программиста: в чём сложность поддержки большого проекта?

Программист: ну представь, что ты писатель и поддерживаешь проект “Война и мир”.
У тебя ТЗ — написать главу как Наташа Ростова гуляла под дождём по парку.
Ты пишешь “шёл дождь”, сохраняешь, вылетает сообщение об ошибке “Наташа Ростова умерла, продолжение невозможно”.
Почему умерла?
Начинаешь разбираться.
Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу.
Что делать?
Зарядить пистолет холостыми?
Поменять туфли?
Решили убрать столб.
Получаем сообщение “Поручик Ржевский умер.”
Выясняется, что он в следующей главе облокачивается о столб, которого уже нет...

rol_foster: Сегодня полдня искали ошибку, из-за которой, образно говоря, у Наташи при прогулке с Пьером падают трусы.
Одна из функций программы делает то, что делать не должна.
Откатили на вчера - трусы на месте.
Перелопатили весь код обновления, там вообще ни трусов, ни Наташи, ни даже Ржевского, тупо красят дом Болконских.
Чуть ли не пошагово разбираем - все нормально.
Но трусы падают.
И, чтобы найти причину, придется перелопатить весь код, а это недели две минимум.
В общем, начальник задумчиво посмотрел на девушку и волевым решением выдал Наташе подтяжки.

VantalaD: Главное не забывать писать к костылю комментарии. Типа "этот костыль здесь не просто так, он трусы держит".
А то ведь как бывает, проходит время и кто-то спохватывается "какие нафиг подтяжки на Наташе, если она в трусах ? Уберите этот бред из романа."
Убираем, сохраняем - и вуаля "Война и мир" плавно превращается в "20000 лье по водой". А разработчик сидит, и челюсть от пола отлепить пытается

leanu: Работаю в техподдержке.
Большой проект, уже лет надцать на рынке, но клиенты и фирма в США, и лень объяснять что делает в итоге продукт, так как сам за столько лет не понял (но когда что-то идет не так - спрашивают меня). И приходит баг от клиента на немного старой версии, уже более полугода как прекратили поддерживать, но и нах%й не пошлешь.
Сама ситуация странная, компонент - чертовски стабильный, и тут такое. Ищу в сорцах откуда вылетает ошибка. И вот (код замазал на всякий пожарный):

Иллюстрация к комментарию

MrGrey: ну хоть if есть. проверка на жопу так сказать )

F1lOSOFF: Хорошее сравнение. Особенно если вспомнить, что поручик Ржевский не является персонажем Войны и мира в принципе.

AWer: просто реюзнули код из другого проекта, причём копи-пастой.

vxm9: Это костыль с одной из предыдущих версий

nezamedlitel: А могли бы выпустить в таком виде, и сказать, что падающие трусы - это фича. Или Пасхалка.

ivandolgs: Это продолжение...

AWer: класс! костыли и велосипеды - наше всё!

Abraziff: Ну это же явно говнокодеры. Нормальный код пишется таким образом, чтобы не возникало трудностей с пересечением разных элементов.
Словами поста пример: "хотел облокотиться на столб, проверил, есть ли столб" итд итп.

geeeee: Эти проверки могут сильно нагружать систему. Если прога маленькая, то незаметно, но если большой проект будет перед каждым действием чекать, то он станет работать в 2 раза медленнее.

Ozonar: Эти проверки можно делать перед релизом. Юнит тесты называются

Frag: Ага, если нет столба, то вкопать

mae5tr0: А для начала создадим фабрику.

vnm1: по производству столбов

AWer: Отдельные фабрики для всех типов сущностей: для столба, для лопаты, для фундамента. Ну и для Наташи Ростовой, конечно тоже.

ivandolgs: А фабрику фабрик кто будет создавать?
И создателя фабрик надо назначить.

AWer: а для фабрик у нас будет Билдер!
а чтобы он был вкурсе некотороых событий, он будет context events aware.
вот так и появляются такие изварщения как ContextEventsAwareFactoryBuilder и их реализации под каждую сущность.

f3681: Автор Java, перелогиньтесь

factim: Если нечем вкопать, то запустить нейросеть на выбор наилучшей подходящей модели лопаты.

Oxycodone: выпадает критическая неудача
и нет не только столба, но и персонажа, и самого романа, вообще ничего нет!
программа крашится.

Alekseyvik2404: Именно. У нас вообще для исправления подобных ситуаций каждый пишет свой кусок и отвечает, чтобы всегда была возможность связи с другим.
Вот если чужой кусок надо править...

nakoryak: Хороший проект, тесты писать конечно не будем!

ZlodeyBarmaley: Вы случаем не разработчик ГИС ЖКХ?

BvzAfvbkbz: Распечатаю, повешу над рабочим местом )))


Tags: human resources, humor, prikol, персонал, прикол, тыжпрограммист, юмор
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments