Эмоциональная привязанность к коду [закрыто]

26

Как сотрудник компании, когда вы пишете код, чувствуете ли вы, что у вас есть привязанность к нему? Считаете ли вы, что у вас есть право собственности на код? Или вы пишете это полностью обособленно от него, не беспокоясь о том, что происходит с ним после того, как вы занялись чем-то другим?

РЕДАКТИРОВАТЬ: я не говорю о написании плохого кода, а затем работает ...

Джон Шафт
источник
Сильно зависит от культуры на рабочем месте.

Ответы:

33

После 30 лет в качестве подрядчика, это смешано.

  1. Это все одноразово. Я работал с сотнями клиентов. Я никогда не увижу код снова. Зачем привязываться? Там нет чувства собственности.

  2. Это очень заметно. Это дороже, чем внутренний код, поэтому он подвергается тщательному анализу. Так как я не буду поддерживать его, он будет очень внимательно изучен. Кодовые пошаговые руководства и передачи очень важны. Существует некоторая гордость за мастерство. Но нет чувства собственности.

Мой рекорд - 17 лет производства. 12 из тех лет с нулевым обслуживанием любого вида.

Я знаю, потому что мне позвонили. Они пересматривали свои системы бухгалтерского учета и хотели узнать, как заменить умный алгоритм распределения затрат, который я построил много лет назад. Я посмотрел на код, и файлы не изменились с момента последнего улучшения 12 лет назад. (Не исправлено, AFAIK.)

Следующим длинным пробегом, о котором я знаю, было 7 лет безупречной работы. Это, однако, имело серьезную проблему 2000 года и потребовало некоторой доработки, чтобы использовать имена файлов, которые имели 4-значные годы. Все внутренние алгоритмы были правильными, но файлы журнала могли бы появиться в неправильном порядке.

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

Так что, да, в мастерстве есть большая гордость.

Но нет "собственности". Это их код, а не мой. Я только строю это.

С. Лотт
источник
1
Ясно демонстрирует, что даже совершенные программы должны меняться, потому что мир меняется.
10

Как более или менее сольный разработчик, страх перед тем, чтобы сохранить то, что я пишу, является основным драйвером для меня, пытающимся не писать ужасный код.

Джон Страка
источник
9

На работе часть кода - моя, в том же смысле, что и стул, на котором я сижу, мой. Я написал это, я сделал это настолько хорошо, насколько мог, я чувствую это собственническим, люди будут спрашивать меня об изменениях, и люди будут называть это моим. И, как и мой стул, когда я уйду из компании, я больше никогда его не увижу, и у меня больше не будет эмоциональной привязанности.

Слово «мое» имеет множество вариаций своего значения. «Моя жена» и «моя зубная щетка» не строго параллельны.

Дэвид Торнли
источник
4

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

Скажите себе: «Я сделал это, это хорошо, но это не мое, и я могу сделать больше». Если ты веришь это , то, когда 6 месяцев вашей жизни устаревают, потому что торговый представитель плохого продукта дал вашему боссу BJ за обедом, вы не потеряете свою работу из-за его сумасшествия.

Помни, они тебе платят. Мы все хотели бы делать крутые вещи, но если они платят нам, чтобы вырыть ямы, а затем заполнить их снова, это их привилегия. Я просто была ситуация , когда я написал веб - приложение, а затем провел месяцы включения ужасные черты, затем месяцев более кодирования его обратно в исходное состояние. Самые последние две недели «работы», которые я извлек из репозитория SVN, затем подтвердили его новыми номерами версий. И я в порядке с этим.

Satanicpuppy
источник
3

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

Кевин Клайн
источник
0

Да и нет.

Да - это то, что вы создали, и поэтому у вас есть привязанность, точно так же, как автомобильный дизайнер гордится или смущается, когда они видят автомобили, которые они разработали на дороге.

Нет. Что касается владения, обычно вы отказываетесь от него в обмен на оплату работы в компании. Сотрудники фабрики, которые производят автомобили, не получают права собственности на каждого, кто сходит с конвейера, потому что им платят за их время.

JZD
источник
0

Я чувствую себя очень проприетарным в отношении кода, который я пишу; он представляет решения, которые я принял о том, как решить данную проблему, и, следовательно, отражает мою способность рационально продумать проблему и придумать логичное и, надеюсь, элегантное решение. Тем не менее, все, что я пишу на время компании, принадлежит компании. Я надеюсь, что ничего из этого не вернется, чтобы укусить меня, и я предпочел бы попросить исправить мой собственный код, но если нет, то нет. (И я могу добавить, что парень, который писал код три месяца назад и помещал мое имя в систему контроля версий, - идиот).

PSU
источник
0

Не за что. Как только я проверяю это, он больше не "мой". Естественно, я стану консультантом по обслуживанию и устранению неполадок, но я не чувствую в этом интереса.

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

Джон Боде
источник
0

Я люблю коды, которые я пишу. Я понимаю их и приспосабливаю их, чтобы другие тоже. Когда ко мне приходят люди и говорят: «Чувак, мы все еще используем тот сценарий, который ты написал для нас. Он такой стабильный и портативный», мне нравится это чувство гордости и собственности.

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

С другой стороны (полностью осознавая, что я мог бы повторить то, что сказал @ S.Lott), если код собирается в конечном итоге стать свойством клиента, тогда нет смысла в сентиментальном обращении с ним. Это как ... заботиться о щенке твоего друга, когда он уходит в отпуск. : - /

lightsong
источник
0

Подрядчики и консультанты, которые могут никогда больше не увидеть свой код, вероятно, не являются идеальным кандидатом для эмоциональной привязки к своему коду. Необходимость «отказываться» от него снова и снова, вероятно, через некоторое время нанесет вред творческому стремлению бедных консультантов.

Если мы посмотрим на это с точки зрения сотрудника, а не подрядчика, я бы сказал, что хотел бы, чтобы все члены моей команды чувствовали причастность к коду, который они пишут, и ко всему, что создают. Эта собственность и гордость должны распространяться на всю команду. Чувство гордости и собственности создает привязанность к продукту в вопросах и добавляет смысл и смысл в работу члена команды. Я видел, как это значительно повышает производительность в малых и больших командах.

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

Такого рода «больное» вложение в код - это то, что я стараюсь предотвратить. Но «здоровые» эмоциональные связи с продуктом и, следовательно, написанный код - это то, что я поощряю.

inquam
источник
0

Это интересный вопрос, и я согласен с одной из публикаций выше: да и нет - но по разным причинам.

Я привязываюсь к коду? Определенно да. Но я не думаю , что это код сам по себе а общая архитектура и приложение. Обычно вам нужно провести много исследований в конкретной области, прежде чем вы действительно сможете внедрить в код то, что хотят деловые люди (если вы не пишете IDE - тогда вы определенно застряли в рекурсии).

С другой стороны: не так много вещей, которые мне нравятся больше, чем выбрасывание устаревших частей кодовой базы. Независимо от того, насколько трудным было написание. Путешествие имеет гораздо большее значение, чем продукт (по крайней мере, для эго, конечно, сам продукт также должен работать).

Есть ли чувство собственности? Ну, это зависит от ситуации в проекте. Когда вы больше никогда не увидите код (потому что ваша часть в проекте закончена, и вы продвигаетесь дальше), тогда зачем романтически относиться к этому материалу? Однако, если вы продолжаете поддерживать это (каким-либо образом), тогда чувство привязанности - это хорошо! Когда вам небезразличен продукт, который вы создаете, шансы довольно высоки, и вы пытаетесь доставить артефакты высокого качества.

В общем, я пытаюсь установить прагматичные «отношения» с кодом, который я пишу.

perdian
источник
0

Черт возьми, я однажды избил коллегу, потому что он был достаточно высокомерен, чтобы переименовать пару переменных.

Нет, не совсем. Мне платят за разработку программного обеспечения. Хотя я признаю, что исправления ошибок, внесенные в мой код другими разработчиками, влияют на эго.

Dante
источник