2020-01-14

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

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

В чём сложность поддержки большого проекта? (Баян с продолжением)
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: Распечатаю, повешу над рабочим местом )))


Profile

bga68: (Default)
bga68

September 2025

M T W T F S S
1 2 345 6 7
8 9 10 11 12 13 14
15 16 1718 192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2025-09-20 00:05
Powered by Dreamwidth Studios