ЖЖ Украина

Самый сок!

всё то интересное в сети, что попало в мои сети


Предыдущий пост поделиться Следующий пост
Хаус-крейзи

Чужой код

Меня недавно спросили, почему программисты ненавидят работать с чужим кодом. Долго думал, как донести до обычного пользователя всю суть пиздеца.

Решил привести небольшую аналогию:

Вот представь, что тебе доверили достроить за другим прорабом лабораторию на острове. Ты приходишь на объект, а там кроме недостроенного здания: огромный вентилятор (размером со здание), большой воздушный шар и комната набитая швабрами. Почесав голову, ты разбираешь этот хлам и доделываешь лабораторию. Сдаешь объект ученным, но через 5 минут они выбегают с криком: "УТЕЧКА ЯДОВИТОГО ГАЗА!!!".

— Как так–то, блять! Должно же работать! — в отчаянии кричишь ты и звонишь прошлому прорабу:
— Вася, у нас ядовитый газ потёк! В чем проблема?
— Не знаю, должно было все работать. Что–то в проекте менял?

— Немного, швабры вынес...
— Швабры потолок держали!
— Что??? Что, блять, извините???
— Говорю, швабры потолок держали. Над ними цистерны с газом были. Очень тяжелые, пришлось в комнату снизу швабры напихать.

— Ты хотя бы записку на двери повесил бы, что швабры для держания потолка! У нас тут ядовитый газ течет! Что нам делать?
— Включай вентилятор. Он сдует газ с острова.
— Я его, блять, демонтировал сразу же!
— Зачем?
— Зачем ты построил 120 тонный вентилятор? Ты не мог положить ящик блядских ПРОТИВОГАЗОВ?
— Ящик противогазов искать нужно, а вентилятор у меня с прошлого заказа оставался.

— Вася, я убрал твой вентилятор! Мы тут задыхаемся!
— Херли вы тогда там делаете? Садитесь на воздушный шар и уебывайте!

Источник


промо ibigdan декабрь 3, 2007 00:08
Разместить за 1 500 жетонов
Если вы хотите сделать хорошую рекламу вашему продукту или услуге - вы зашли по адресу. Блог "Самый сок!" читают во всём мире. Среднее количество просмотров на каждый пост - 50 тысяч, среднее количество просмотров блога в месяц - 4-5 миллионов. Изучить аудиторию блога в разных разрезах можно в…

  • 1
rabnoskov 13 марта, 14:37
То есть программисты просто рукожопы и не знают, что этаж не будет держаться на швабрах?

yizhack 13 марта, 14:52
Чукча не читатель ?

Потолок ДЕРЖАЛСЯ на швабрах (правильно это или нет - другой вопрос). Но швабры убрали так как их уместность и тем более необходимость была совершенно неочевидна

tank_ua 13 марта, 14:40
ААААААААААААА, лафинг аут лауд!!!!))))))))

peresmeshneek 13 марта, 14:53
Я прошу простить меня за столь бесцеремонную и, возможно, не подобающую случаю просьбу, которая может показаться вам, некоторым образом, наглостью с моей стороны, что совершенно не так, а даже наоборот, и токмо волею моих товарищей, ожидающих меня в крайней степени нетерпеливости и даже трепетности, обусловленную своеобразным состоянием организма, ослабленного вчерашними допущенными излишествами, а также преследуя довольно банальные и прагматичные цели отношения к имуществу, но соблаговолите ответить мне на мой невинный вопрос:

"Я цистерну потом пустую заберу?"

Edited at 2018-03-13 15:05 (UTC)

Альпинисты в Карпатах. Взобрались на гору.

r_es 13 марта, 18:34
По-поводу бахнули пивка.
А тут бабуся из кустиков: Хлопчики! А пляшки можна забрати?

g_anton 13 марта, 14:53
как бы бывает и такой говнокод, конечно. и с таким работать действительно желания нет.
но пришедший спасать, как правило, не идиот и догадывается, что швабры сходу убирать не стоит. если он, конечно, не новичок с 2-3 годами опыта и зудом "все здесь переписать по правильному".
давно есть фреймворки, стандарты кодинга и командные, которые на дадут так наговнякать.

smbspecial1 13 марта, 15:10
Опытный "спасатель" - как правило, говорит спасаемому сразу две вещи
1) Ты оплачиваешь мое время. Сколько займет спасение - я не знаю. Как только ты перестаешь платить - я тут же прекращаю работать. И молись в этом случае, чтоб я в отместку не оставил тебе какую-нибудь пасхалку
2) Я не отвечаю ни за что. Вообще. Никак. Ты с этим согласился добровольно. Ты не будешь иметь никаких претензий ко мне. Если ты попробуешь хоть как-то мне подпортить репутацию - я тебя сука засужу.

И, если спасаемый не согласен хоть с чем-то из вышеизложенного - нахуй его. Пусть дохнет.

bolshoy_john 13 марта, 14:56
Программисты НЕ ненавидят работать с чужим кодом. Во всяком случае, не с любым чужим. Бывают конечно запущенные случаи. Кстати, код может быть даже свой собственный, написанный давно и почти забытый. Поэтому документирование - это очень важно. Вот это "записку на двери повесил бы" - это оно как раз. Во-вторых, в коде элементарно и быстро проверяется, что швабры держат потолок и убирать их нельзя. Так что оба "прораба" тут ведут себя непрофессионально :)

bvbslava 13 марта, 15:02
бывает, что потолок рушится не сразу, а через 2-3 года. и вот если бы были шваброчки, то все было бы в порядке. так что не очень очевидно это бывает.

smbspecial1 13 марта, 15:07
Страшнее работы с чужим кодом - может быть только требование клиента научить его как написать код - по телефону с отображением экрана.
"Вот я тут написал (*быстро показывает кучу строк, мелькающих на экране так, что ничего не разобрать*) - только оно почему-то не работает. Почему?"
"А вот тут (*быстро тыкает в какую-то строчку*) я так написал - правильно?"
"А вот что мне здесь нужно поставить?"
Блять. Блять! Блять!!!!!!!

"ты разбираешь этот хлам" - в этом месте горе-программиста следует бить ногами.
Работает - не трогай.
Тебе те швабры мешали? Спать не давали? Ты их зачем убирал, самым умным себя считал? Нужна кладовка - пристрой рядом еще одну, свою, и сложи туда свои велосипеды (или что ты туда планировал сложить).

smbspecial1 13 марта, 15:43
А если сам заказчик требует швабры убрать? Просто потому, что не знает, как оно работает, и зачем вообще.

smbspecial1 13 марта, 16:10
А вообще - всерьез подумываю о том, а не выйти ли мне досрочно на пенсию, чтоб оттуда наблюдать, как заказчики барахтаются со всеми этими швабрами, вентиляторами и прочими индусами - и ждать, когда оно у них все наебнется со страшным грохотом. Вот тогда - они мне не только заплатят любую цену, даже если придется последнюю рубаху с себя снять - но еще будут умолять на коленях, чтоб я трахнул анально их жен и дочерей в качестве бонуса. Только почини, дорогой.

Ну не понимают люди - насколько они зависят от технологий, в который ни хрена не рубят. Раз не понимают - значит, нужно учить болью.

arseny_tsaplev 13 марта, 16:52
Проблема в том, что когда они это понимают, обычно уже не остается людей, которые понимают как это работало, и уж тем более как починить то что тут наворочено.

quaziking 13 марта, 16:14
Прочитал статью и комменты на данный момент: все правы. Всякое бывает. Но профессионал или не сделает "швабры" или не станет их убирать или не станет работать с заказчиком (т.к. он м*дак).

d_nielli 13 марта, 17:49
аналогии какие-то хреновые - все это должно быть очевидно на стадии тестирования. Единственная проблема большого проекта заключается в том, что не вся бизнес-логика может быть известна - о ней или забыли или не сочли нужным упомянуть.

Например, тебя попросили прибить к стене картину. Ничего казалось бы проще. Ты берешь гвоздь, молоток, и начинаешь забивать (оставляя при этом всю существующую логику - все эти швабры, вентиляторы и шары. Обычно никто в здравом уме не начинает переделывать то, что уже и так работает), а затем спокойно вешаешь картину. Проводишь тестирование - все вроде хорошо, картина висит, ничего необычного.

Потом через неделю выясняется что в 12 часов ночи у заказчика запланирована задача по смахиванию налипшей грязи с со стены при помощи совсем другого процесса, о которой ни ты, ни QA не знали, и твоя картина падает на пол, из-за чего ее нужно обратно вешать не очень удобным способом. Приходится делать правки с учетом вновь открывшихся обстоятельств.

И так может повторяться бесконечное число раз.

С маленькими проектами вообще никаких проблем как правило нет, если только не баги.

+ Еще есть проблема координации - когда разные куски кода пишутся разными людьми в разное время, за которое бизнес-логика внезапно может поменяться, и в результате кругом лезут ошибки из-за несовместимых параметров.

smbspecial1 13 марта, 23:18
> Единственная проблема большого проекта заключается в том, что не вся бизнес-логика может быть известна - о ней или забыли или не сочли нужным упомянуть.
Это не "единственная" проблема - а самая-пресамая главная, и самая-пресамая распространенная.
За сохранение знаний - IP - надо выкладывать деньги. Вне зависимости от того, в какой форме IP сохраняется: в виде ли качественной документации, либо как в мозгах людей. А платить - мало какой бизнес жаждет. Все хотят сэкономить, а потом отчитаться об экономии и получить за это бонус, потратив его на шлюх, героин и блэк джек. А что будет после - экономщиков не волнует от слова совсем.

kingeugen 13 марта, 21:12
Таких говнопрорабов надо с волчьим билетом гнать ссаными тряпами из профессии.

gray12 6 апреля, 12:31
Ну а с предыдущим разработчиком скорее всего было так. Заказчик сказал, что цистерны будут весом в тонну, но после того, как здание спроектировали и построили, он решил, что лучше поставить 5 тонн. Ночью потолок стал рушиться и прораб сказал, что надо заново перестраивать здание и это займет полгода и вагончик денег. На что заказчик сказал, что ничего этого нет и придумай хоть что-то быстро. Ладно, поставим швабры, а на всякий случай вот вам в подарок вентилятор и шар и ну вас нафиг, трахайтесь дальше сами.

prognadzvy4ajn 19 апреля, 7:18
Є така методика бидлокодингу: зробити аби-як полизати жопу бидломана͡джменту отримати медальку "супер-проґрамміст"
, а розгріба͡ння всього того лайна що треба просто викинути на хйу
перекласти на когось йншого!


PS

Бидломана͡джмент може надувати щоки та розповідати про "велику п'ятірку", "эскапизм " бозна ще про що та повторювати як мантру "працювати треба -- треба працювати -- думати неможна"
, але бидломана͡джмент не може впровадити таку елементарну штуку як ітераційна розробка
тому-що в бидломана͡джменту болото маразму замість мисле͡ння!

Edited at 2018-04-19 07:27 (UTC)

  • 1
?

Log in

No account? Create an account