Страница 1 из 1
Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 10, 2022 10:51:18
AlexandrRa
Меня недавно спросили, почему программисты ненавидят работать с чужим кодом. Долго думал, как донести до обычного пользователя всю суть 3,14здеца.
Решил привести небольшую аналогию:
Вот представь, что тебе доверили достроить за другим прорабом лабораторию на острове. Ты приходишь на объект, а там кроме недостроенного здания: огромный вентилятор (размером со здание), большой воздушный шар и комната набитая швабрами. Почесав голову, ты разбираешь этот хлам и доделываешь лабораторию. Сдаешь объект ученым, но через 5 минут они выбегают с криком: "УТЕЧКА ЯДОВИТОГО ГАЗА!!!".
— Как так–то, бл@ть! Должно же работать! — в отчаянии кричишь ты и звонишь прошлому прорабу:
— Вася, у нас ядовитый газ потёк! В чем проблема?
— Не знаю, должно было все работать. Что–то в проекте менял?
— Немного, швабры вынес...
— Швабры потолок держали!
— Что??? Что, бл@ть, извините???
— Говорю, швабры потолок держали. Над ними цистерны с газом были. Очень тяжелые, пришлось в комнату снизу швабры напихать.
— Ты хотя бы записку на двери повесил бы, что швабры для держания потолка! У нас тут ядовитый газ течет! Что нам делать?
— Включай вентилятор. Он сдует газ с острова.
— Я его, бл@ть, демонтировал сразу же!
— Зачем?
— Зачем ты построил 120 тонный вентилятор? Ты не мог положить ящик бл@дских ПРОТИВОГАЗОВ?
— Ящик противогазов искать нужно, а вентилятор у меня с прошлого заказа оставался.
— Вася, я убрал твой вентилятор! Мы тут задыхаемся!
— Херли вы тогда там делаете? Садитесь на воздушный шар и уе%ывайте от туда!
Re: Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 10, 2022 11:17:38
Martian
В тему соседней ветки про мат: какой смысл заменять в матерных словах символы? Как где-то прочитал в интернете: это всё равно, что минет на площади среди кучи людей прикрывать ладошкой
А по теме: это бред. Изучение профессионального чужого кода интересно, а хорошо документированного - вдвойне, а за деньги - втройне.
Re: Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 10, 2022 12:48:22
AlexandrRa
А если не задокументированный, без комментариев и на ассемблере, да ещё и микроконтроллер новый?
(в смысле ещё не изученный)
Re: Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 10, 2022 13:04:10
Martian
тоже хорошо - добавляем младших три ноля к цене

Re: Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 10, 2022 15:03:44
JMC.Hard
[uquote="Martian",url="/forum/viewtopic.php?p=4243298#p4243298"]тоже хорошо - добавляем младших три ноля к цене

[/uquote]Ннну, и останешься без работы ...
А по поводу вышесказанного ... интересно разбираться в чужом коде когда есть исходник с комментариями, а оно, таки оОочень редко попадается
Занимался программированием много лет, и не свои программы приходилось разбирать и переделывать ...
Своя программа сделана по
твоей логике, она тебе (даже и без комментариев) будет всегда понятна. Самое страшное в чужой программе -- понять
логику, въедешь -- всё пойдёт! Даже
на незнакомом тебе (до этого) языке программирования ...

Re: Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 10, 2022 15:31:10
Eddy_Em
[uquote="JMC.Hard",url="/forum/viewtopic.php?p=4243359#p4243359"]Своя программа сделана по твоей логике, она тебе (даже и без комментариев) будет всегда понятна.[/uquote]
Во-во, мне коллега все, как ни взглянет в мой код, говорит, мол, надо бы тебе уже на С++ переходить — все ООПщину в С тащишь ☺ Но мне С нравится: простой ЯП, не требующий постоянно шарахаться по интернету в поисках документации (ман почитал в консоли - и готово), да и логика простая (не то, что классы с шаблонами). Я уж молчу о времени сборки: мой код собирается за несколько секунд, у коллеги же g++ может минуту пыхтеть!
Re: Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 10, 2022 16:05:47
AlexandrRa
Ну, у меня 4 месяца ушло, чтоб её разобрать (и то честно говоря не до конца всё понял, т. к. писалась она как говорили мне шаблонами(присутствовали лишние куски кода на мой взгляд))
Re: Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 10, 2022 18:35:46
Martian
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4243363#p4243363"]все ООПщину в С тащишь[/uquote]Аналогично! Притом, был период наоборот, когда рванув за всеми в ООПнутые языки, долгое время работал в них с минимумом ООП

Но вот сейчас, всё более увлекаясь С#, мне как-то становится неловко в обычном С...
Добавлено after 3 minutes 34 seconds:
Про комментарии: до сих пор вспоминаю исходники TMSSoftware для Delphi, комментариев там было минимум, но все по существу, а один звучал примерно так: "Мы не понимаем, почему не работает, если не добавить 1"

Вот именно на их исходниках я нехило продвинулся в Delphi. На исходниках Reogrid очень сильно скакнул в C#
Так что, хорошие чужие исходники - это отличный опыт может быть.
Добавлено after 2 minutes 17 seconds:
[uquote="AlexandrRa",url="/forum/viewtopic.php?p=4243395#p4243395"]Ну, у меня 4 месяца ушло, чтоб её разобрать (и то честно говоря не до конца всё понял, т. к. писалась она как говорили мне шаблонами(присутствовали лишние куски кода на мой взгляд))[/uquote]Зато это наверняка улучшило понимание ТЗ в целом, и возможно, есть возможность предложить заказчику вариант создания лучшей версии? За отдельные деньги, разумеется

Re: Почему программист ненавидит ковырять чужой код
Добавлено: Пт июн 24, 2022 08:20:37
Муркиз
Не будьте уверены, что ваш код самый оптимальный.
Разобравшись в чужих алгоритмах, найдете пути улучшения своих.
Re: Почему программист ненавидит ковырять чужой код
Добавлено: Вт окт 25, 2022 09:25:09
Morroc
[uquote="Муркиз",url="/forum/viewtopic.php?p=4249901#p4249901"]Не будьте уверены, что ваш код самый оптимальный.[/uquote]
Мало того, он может быть даже оптимальным, но нечитаемым - это к вопросу от "своей логике", причем ООП там или нет по барабану. Есть любители наплодить по функции на каждое элементарное действие, а внутри функций еще раз так сделать - на первый взгляд вроде даже и ничего смотрится... пока не всплывет какой нибудь необычный баг и не придется это отлаживать кому то другому.