Подробнее
REMINISCING
HEy, THIS IS SOME OF My OLD CODE 1 UAS SO PROUD OF IT L J*f\*)
\
i i ) you CAN’T HURT ANyONE NOU 5£
\ \joV
MONKEyU5ER.COM
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
На самом деле если ты находишь старый код, который за долгое время не потребовал исправлений или переписывания и работает как часы - это хороший код, это большая редкость. И неважно, насколько он соответствует нынешним представлениям или моде. И то, что нынешние "программисты" часто неспособны разобраться в старом рабочем коде, говорит больше об их квалификации, чем о старом коде.
Точно, даже если этот код как лапша, полон костылей, содержит десятки тысяч строк в одном файле и вообще выглядит как обфуцированный это неважно, т.к. то что в нем сложно разобраться виноват ТЫ, потому что ты говно как разработчик, а код - хорош, потому что он работает.
Да, конечно, никогда так не бывает, чтобы какой-нибудь индус не сделал говнокод. Который, если повезёт, даже работает какое-то время, если не трогать. И только потому, что "оно" работает - это "хороший" код. Да-да, конечно.
Ещё как сможет, если его не надо было часто менять. Таких примеров у меня был вагон на каждой работе, где приходилось работать со старым и чужим кодом (и не только у меня, но и у всех коллег с этим были проблемы). Всё работает, т.к. были проведены сотни тестов в своё время, и на этот "код" делались заплтатка за заплаткой, пока не стало так, как было на тот момент нужно. То, что оно в итоге работает, мало что говорит о качестве конечного кода - всё очень сильно зависит от области использования - если она достаточно узкая, и требования не меняются, то почти любой код будет работать долго и без сбоев, если был достаточно протестирован. И да, порой оказывается, что код всё-таки говно и разобраться в нём никакой специалист не может нормально (т.к. "логика" там своя, понятная только лишь одному "гению", например, или просто так всё запутанно, что уже и "создатель" не разберётся).
Либо код был покрыт тестами абсолютно (не бывает в реальном мире), либо нет и баги таки вылезут, если они есть, либо код был тривиален, а мы говорим о нетривиальном. А если код нетривиален и при этом не имеет багов, то это не говонокод, просто говноспециалисты ему достались для поддержки.
Но ведь баги это не всё. Изначально речь шла о том, можно ли этот код понять или нет. Код может быть "правильным" и без багов (или с некритичными), но абсолютно нечитаемым и очень запутанным.
Да-да, конечно. Только от этого. Не вижу смысла дальше обсуждать - ни одного аргумента я так и не увидел, почему "понимающий" должен уметь разбираться в говнокоде и это определяется его "квалификацией". Разве что, под "квалификацией" понимается умение разбираться в говнокоде, тогда да.
О квалификации тех, кто писал и тех, кто читает. Мало написать рабочий код, надо написать поддерживаемый рабочий код (если в будущем в принципе планируется к нему возвращаться).
И от квалификации писавшего. Можно написать рабочий код, который будет представлять собой гигантскую лапшу из кучи вложенных циклов, вротебучих зубодробительных флагов, условий, неочевидных имен функций, переменных, классов, тупое разделение на классы, нарушение принципов проектирования итп итд, а еще без комментариев.
Нет, квалифицированный человек сможет поддерживать. Потратит кучу времени на то, чтобы распутать эту лапшу и понять, что происходит, изменения и исправления вносит в пяти различных местах проекта, писать 100500 тестов, чтобы не дай бог не развалилось. Вот только это все равно ебаный говнокод, и причина этого говнокода - тупой мудак, который его написал. Нехер писать write-only код и потом валить на последователей, мол, они тупые, раз разобрать не могут.
З.Ы. Есть случаи, когда вынужден писать говнокод. Например, аццки оптимизировать какое-то узкое место и когда не до красивостей. Или особо хитровывернутая логика. Или еще что-нибудь. Правда, такие места должны помечаться, мол, не лезь, блять, оно тебя сожрет.
One morning you wake up find out you have access to God’s developer console. What’s the first thing you do with this power?
Discussion
♦ 154 + W 479 & Share
^ BEST COMMENTS ▼
I like forks • 5h
hehe3301 • 7h
sudo rm -rf oceans/*/contents/
*.plástic
sudo rm -rf people/*/*.cáncer sudo rm -rf v
И только потому, что "оно" работает - это "хороший" код. Да-да, конечно.
Нет, квалифицированный человек сможет поддерживать. Потратит кучу времени на то, чтобы распутать эту лапшу и понять, что происходит, изменения и исправления вносит в пяти различных местах проекта, писать 100500 тестов, чтобы не дай бог не развалилось. Вот только это все равно ебаный говнокод, и причина этого говнокода - тупой мудак, который его написал. Нехер писать write-only код и потом валить на последователей, мол, они тупые, раз разобрать не могут.
З.Ы. Есть случаи, когда вынужден писать говнокод. Например, аццки оптимизировать какое-то узкое место и когда не до красивостей. Или особо хитровывернутая логика. Или еще что-нибудь. Правда, такие места должны помечаться, мол, не лезь, блять, оно тебя сожрет.