?

Log in

No account? Create an account

Previous Entry | Next Entry

Коллектив "похудел" на одного коллегу, наверное самого нелюдимого из всех, кто на моей памяти у нас работал. Если кто не знал, я - программист. У нас человек уходит, а то, что он накодировал, остаётся.

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

Вот, по волшебным текстам нашего джуниора, видно - рождён, чтоб сказку сделать былью. Я читаю его код со смесью ужаса и восторга. С ужасом, от того осознания, что сие есть часть боевого продукта, поставляемого клиентам, и восторгом от ничем не ограниченного полёта мысли. Особенно понравившиеся моменты я выписываю маркером на доске и рассказываю коллегам. Конечно, методически правильно было бы приходить к автору и капать на мозги: "так у нас не делают потому-то и потому-то". Но не всегда получается себя заставить. Это всё равно как подойти к Джеки Чану и начать объяснять, что драться галстуком, мелком и дверцей от холодильника не эффективно. Однажды, когда под рукой будет только дверца от холодильника, он всех нас спасёт.

Есть код уставших людей. Он груб, в нём всё делается "в лоб", срезаются углы, не проверяется то, что должно проверяться. Из листинга видно общее впечатление вымученности и стремление к минимизации усилий. А иногда попадается почти такой же тяп-ляп, но по неким особым моментам, чувствуется, что сие не от усталости. Это раздутое ЧСВ, подсознательное желание показать, что задача "не царского уровня". Такой код - говно, но эээ... с изюмчиком. Т.е. та же вымученность, но в некоторых местах изящные или эзотерические конструкции, которые при кодировании "в лоб" никто бы писать не стал. Между строк читается что-то вроде: "я слишком крут для вашей банальщины".

Лучший код, тот самый код, который обходится фирме дешевле всего в дальней перспективе, скучен, безличен и не содержит индивидуальных черт. Наш архитектор старается писать именно так. И вообще, по жизни, может создать впечатление человека простого. Но... Наверное, ближайшая аналогия, это парень из интеллигентной семьи, загремевший в армию. Он старается не высовываться, осваивает лексику обычных пацанов с района, но нет-нет да и ляпнет "эклектика" или "эвфемизм" и всё, прощай репутация. И долго врать в коде тоже не получится, сложность натуры хоть в чём-то да проявится. Всё чинно-благородно, но то имена объектов, то ещё какие мелочи, и вот уже трудно отделаться от ощущения, что дома у автора есть маленькая комната с красным потолком и кожаная маска.

Вообще, среди тех, кто старается писать хорошо, есть два крайних подхода. Они антагонистичны, как Бетмен и Супермен. Супермен несёт рафинированное, выхолощенное и обезличенное добро. Именно это, по большому счёту и нужно бизнесу. Добро Бетмена предельно персонифицировано, оно замешано не на чистом разуме, а на этике хтонических чудовищ подсознания. Сейчас я сижу за столом старого тимлида, оставившего в коде богатое наследие. Он исповедовал путь тёмных троп рыцаря Готема. Чтение его кода подобно изучению образцов чужеродной культуры. В нём есть стиль, красота и своя, особая логика, но проникнуть в неё ты не можешь, потому что ты - другой. Обычно понимание приходит скачкообразно, когда накапливается критичная масса впечатлений. И ты, вроде бы, стремишься к пониманию, но одновременно и боишься его, ибо подлинное понимание чужеродного неотвратимо тебя изменит.

Такой вот интровертный подход. Копошение в останках даёт большее понимание человека, чем непосредственное общение.

Comments

( 26 comments — Leave a comment )
elisa_liz
Apr. 5th, 2017 03:37 am (UTC)
Кто-то смотрит в звезды, чтоб узнать людей, кто-то в код, некоторые фотографируют с тем же мотивом.
В итоге получается что всех нас интересуют люди.
mozgosteb
Apr. 5th, 2017 03:40 am (UTC)
Не всегда с самого начала, но в итоге всё равно к этому приходишь.

Edited at 2017-04-05 06:40 am (UTC)
elisa_liz
Apr. 5th, 2017 03:41 am (UTC)
Я звезды люблю наверное больше. Даже не звезды, а совпадение моих астрологических ожиданий с событиями в жизнях людей, в том числе плохими.
И придет Денис и скажет что это грех(
livejournal
Apr. 5th, 2017 04:31 am (UTC)
Здравствуйте! Ваша запись попала в топ-25 популярных записей LiveJournal северного региона. Подробнее о рейтинге читайте в Справке.
ersi13
Apr. 5th, 2017 04:41 am (UTC)
Интересно ты людей разглядываешь)
mozgosteb
Apr. 5th, 2017 04:46 am (UTC)
Люди такие интересные)
ersi13
Apr. 5th, 2017 04:57 am (UTC)
Это да)Наблюдать и исследовать их увлекательно)
bearinbloodbath
Apr. 5th, 2017 07:02 am (UTC)
... не раскрыта тема программистов-маньяков, стиль написания кода которых продиктован исключительно желанием вызывать боль, охуевание и глазное кровотечение... когда ты сидишь и слышишь из другой части кабинета приглушенный стон "бляяяяяяять, што это? как оно вообще может работать??" и мед разливается по внутренностям, а глаза затмевает розовая пелена наслаждения...
mozgosteb
Apr. 5th, 2017 07:22 am (UTC)
Не всё уместилось в один пост! М.б. будет продолжение.
gnawer
Apr. 5th, 2017 01:03 pm (UTC)
Да, есть очень разные стили кода, но в целом выделяются люди которые просто нихуя не понимают и не хотят, и ещё люди которые страшно увлекаются каждой новой технологией и непременно желают её впердолить в проект чтобы поиграться. Это те, которых постоянно видно, и всегда очень хочется чтобы они хотя бы писали поменьше, потому что тогда хоть не столько разгребать. И есть кого особо не видно, потому что они написали за разумное время, оно есть не просит, и как туда кто идёт - он там как-то без проблем по мелочи подкручивает и обратно уходит.
mozgosteb
Apr. 5th, 2017 01:10 pm (UTC)
Самый лучший код обычно скучный и невыразительный.
gnawer
Apr. 5th, 2017 01:22 pm (UTC)
Это в принципе не обязательно, просто он должен быть понятен без напряжения мозгов. Ну то есть если ты понимаешь под "не скучный" такую ситуацию, когда ты сначала не врубился, потом полазал полазал и такой ааа, ну да, ничо - то тогда да.

У нас например есть граждане которые меряют качество кода в количестве строк, и это у них повод заколбасить в проект какую-нибудь такую библиотеку, которая радикально меняет весь язык на версию которую только они понимают. Кода же меньше писать, следовательно меньше ошибок будет.
mozgosteb
Apr. 5th, 2017 01:33 pm (UTC)
>>Кода же меньше писать, следовательно меньше ошибок будет
+100
Поэтому, я стараюсь воздействовать на аналитика, чтобы, по возможности, вообще не писать код. Нет нового кода - нет ошибок)
gnawer
Apr. 5th, 2017 01:36 pm (UTC)
Это да. Также очень помогает качеству что-нибудь выкинуть нафиг.
gnawer
Apr. 5th, 2017 01:11 pm (UTC)
А вообще насчёт сортов говна ты прав. Действительно, бывает человек который просто дерево, а бывает ещё такой, который такое же дерево, но много о себе думает. Первый в принципе бывает даже поддаётся перевоспитанию, хотя не всегда. Ключевой момент - способен ли он воспринимать коменты и исправлять их. Если способен, то ничего, нормальный сотрудник. Если нет, то либо он просто ленивый гондон которому ничего не нужно, либо имеет шанс перерасти во второго типа. Второй - это он точно так же производит говно, но при этом выучил какую-нибудь крутую фишку. Например это dependency injection. И теперь у него код не только как говно, но ещё его в два раза больше (потому что фишка требует впихуть невпихуемое, а это тяжело), а во-вторых для понимания что происходит надо сначала из общей массы вычленить вот эту фишку и разложить мыслительный процесс по ней.
radugaw
Apr. 5th, 2017 03:20 pm (UTC)
Ох, как это все непонятно, про коды. И вызывает трепет : какие-то люди, которые пишут как мы будем жить вообще.
mozgosteb
Apr. 6th, 2017 12:27 am (UTC)
Когда понятно, трепет, поверь, ещё больше)
radugaw
Apr. 6th, 2017 02:12 am (UTC)
Ой!
andeadd
Apr. 6th, 2017 06:36 am (UTC)
Крутейше написал!!
mozgosteb
Apr. 6th, 2017 07:05 am (UTC)
Спасибо)
mage_pro
Apr. 7th, 2017 02:56 am (UTC)
+1
mozgosteb
Apr. 7th, 2017 03:14 am (UTC)
=))
nyakator
Apr. 7th, 2017 06:02 am (UTC)
А сам автор к какому типу относит свой код? :)
mozgosteb
Apr. 7th, 2017 06:48 am (UTC)
Автор сам себя трезво оценивать не может! Но стремится к лучшему.
nyakator
Apr. 7th, 2017 06:10 am (UTC)
А кто ушел то? Юра/Михаил Борисович/Виталик/Серёжа/Лёша? Мы узнаем? :)
mozgosteb
Apr. 7th, 2017 06:47 am (UTC)
Лёша давно ушёл, а сейчас не из нашей комнаты чувак. У нас в отрасли вообще средний срок работы на одном месте - 3 года.
( 26 comments — Leave a comment )