Это мой код

Felix IT
2 min readApr 4, 2016

У людей, работающих “на дядю”, бывает любопытная девиация — они считают какой-либо код СВОИМ. Или сервис СВОИМ. Или ещё что-либо СВОИМ. Вот как чайник. Как диван. Или любимый двор, с которым порою путают офисное пространство.

Так вот, это девиация. В офисе у вас нет ничего своего. Всё, что вы делаете, вы делаете в интересах собственника бизнеса. Сидите на его стуле, пользуетесь его компьютером, кушаете его печенье и получаете его деньги. Если считаете иначе, узнайте у самого главного босса, за что он вам платит. Очень полезное знание бывает.

Помимо этой очевидности, у оценки (девиация) есть и более глубокий фундамент. Действительно ли код ваш на 100%? Да, это вы его написали собственными пальцами. Но.

Во-первых, вы его писали под сроками. Если дать больше времени, написался бы несколько другой код. Тут было бы чище, тут оптимальнее, тут вместо развесистости получился бы красивый автомат. С потолка считаем, что на 10% это вынужденные решения.

Во-вторых, вы его писали под code review. Code review — штука, которая нивелирует личность в коде под давлением других личностей. Иванов не ценит лямбды, Петрову сложно читать рекурсию, Сидоров директор. Потому после правок на 10% код становится их кодом.

В-третьих, чем старше и толще контора, тем больше в ней legacy, которое вы должны использовать. Вы бы написали иначе, код был бы намного лучше, но надо подключить вооон тот хвост мамонта и дёргать вооон тот странный API, местами подкостыливая. Потому на 10% это тоже legacy, которого могло не быть.

В-четвёртых, вы не всегда согласны с продуктовыми требованиями. Я вообще очень люблю наблюдать за тем, какую глупость несут разработчики, самоуверенно лезущие в продукт, но достаточно даже бессмысленного несогласия, чтобы посчитать 10% кода вынужденным. Вы бы эту задачу не решали, да ещё так, но надо.

В-пятых, редкий код живёт в изоляции от другого кода, который пишут такие же охламоны. У этих охламонов свой темперамент, свои знания и умения, своя специфика. Если потребитель ручки должен написать 100 строк кода, сохраняя чистоту вашего, а вам для костыля имени Пупкина надо выдавить 10 строк, выдавливать будете вы. Потому очередные 10%.

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

Итого вашего кода всего 40%. И если вы не заняты высокой интеллектуальной задачей вроде “модель квантовых взаимодействий в геометриях Римана”, на эти 40% остаётся тривиальный исходник вида “тут взять яблоко, сюда положить, отловить исключение, написал в лог”. Стоит ли это считать СВОИМ и вообще лично относиться? Мне кажется, нет.

Не значит, что писать надо плохо. Никогда так не надо. Но стоит ясно отдавать себе отчёт в том, что именно вы делаете и как относиться к плодам своего труда. Одно из опасных заблуждений — заблуждение в том, к чему относиться излишне лично. Код, написанный в офисе — не котёнок, которого вы подобрали голодным и мокрым, и за годы выкормили в огромного наглого кабана. Зачастую это просто код, не более.

--

--

Felix IT

Много программирую и много разговариваю.