Попробую объяснить для непрограммистов. Представьте себе, что вы рисуете комиксы на заказ. Вы универсал: и сюжет придумываете, и диалоги, и эффектные ракурсы выбираете. Такая у вас работа.
И вот вам приходит заказ: продолжить популярную серию комиксов "Педро и его друзья", автор которой, к сожалению, уволился. Платят вроде как хорошо. Что ж, халтура как халтура, почитаем пару предыдущих серий комикса и в путь!
Всё, что дальше описано, это типичные мысли и реакции программиста, читающего чужой код и типичные ситуации, с которыми он сталкивается, без особенных преувеличений.
...Ну как можно путать "тся" и "ться", тем более что тебя подростки читают? Похоже, ваш предшественник не самый грамотный человек в мире. И куда вообще смотрел корректор?
...Стиль рисовки, конечно, не ваш, нужно будет привыкать. У всех мужчин квадратные подбородки и треугольные торсы, все женщины чем-то похожи на Барби. Никакой (само)иронии.
...Почему Педро иногда человек, а иногда волк? Пролистав пять прошлых выпусков этой бредятины, вы пока так и не поняли, что это за фишка и по какому принципу он становится волком. Он явно не классический оборотень, это что-то другое, но что? Неужели придётся перечитать все 378 выпусков?
...Кто такой Хосе и почему ему так важна его сумка, которую он даже во сне не выпускает из рук? Что, черт подери, в ней лежит? Это явно заготовка для неожиданного сюжетного поворота, но какого?
...Так, стоп. Педро иногда отважно борется с мужеложцами? Вам совсем не хочется продолжать эту, эммм, сюжетную линию, заказчики могли бы и предупредить! После некоторого торга они соглашаются, что вы молча забудете о ней и все сделают вид, что ничего такого не было. В комиксах так бывает. К сожалению, ваши знакомые по-прежнему думают, что вы (такой приличный вроде бы человек) рисуете про этого, как его там, Педро, ну который ещё геев избивает.
...Все-таки интересно, что лежит в сумке у Хосе. Надеюсь, этот сюжетный поворот никак не должен быть связан с сюжетной линией из предыдущего абзаца! Всё-таки придётся перечитать всё творчество вашего предшественника...
...Что значит выпуски с 1 по 125 выходили только по-арабски?! Ещё понятно было бы, если бы по-испански, но по-арабски!!
(╯ ° □ °) ╯ ┻━┻
...
Это надо было умудриться так художественно описать нашу рутину =)
Когда пишется собственный код, то программисту сразу же понятно, что за что отвечает, так же ему понятны и собственные комментарии.
А если код написан другим человеком, да еще и без нормальных комментариев, то чтобы разобраться в коде может уйти немало времени и нервных клеток.
Что значит любить - не любить? Это работа, и за нее платят деньги. Для любви существуют пет-проекты. Роберт Мартин приводит в пример правило скаутов: оставь место стоянки чище, чем оно было до тебя. А чтобы расчистка говен не вылезла ошибкой в самом неожиданном месте, нужны тесты. Если их не было - надо их написать.
Неоднократно приходилось дописывать\править чужой код. Но в армии существовали единые правила по оформлению исходного кода программ. И если все сделано по правилам и с грамотными комментариями, то это было не сложно.
Если это "спагетти" код, то иногда проще написать заново.
Особенно мрачно, если проект последовательно писало несколько программистов...
... в армии существовали единые правила по оформлению исходного кода программ.
Вы в чьей армии служили?
)
ибо мы индивидуалы. настоящие кодеры. пишем так, что хрен прочтешь. и вот когда тебе попадается код такого же как ты, то можно тушить свет и бросать гранату. Легче идею реализовать на свой манер, чем редактировать или дописывать чужой код. мало ли что там в голове предыдущего кодера творилось.
В общем, я художник, я так вижу)
Это не совсем так.
Не любят чужой код - посредственные программисты. Для профессионала примитивный код читается на раз, а гениальным кодом можно только восхищаться и на его примере учиться.
Сам я - программист с сорокалетним стажем.
Потому что у разных программистов стиль может отличаться. К тому же зачастую люди не делают комментарии, зачем и как это было сделано. Если такой код переходит к другому программисту, он тратит лишнее время на разбор написанного.