Емоційне вкладення коду [закрито]


26

Як працівник компанії, коли ви пишете код, чи відчуваєте ви себе прихильність до нього? Чи вважаєте ви, що у вас є власник коду? Або ви пишете його повністю відірваним від нього, не турбуючись про те, що з ним відбувається після того, як ви перейшли на щось інше?

EDIT: Я не говорю про те, щоб написати неправильний код, а потім запустити ...


Сильно залежать від культури робочого місця.

Відповіді:


33

Після 30 років роботи в якості підрядника це змішано.

  1. Це все одноразові. Я працював із сотнями клієнтів. Я ніколи більше не побачу код. Чому приєднуватися? Немає почуття власності.

  2. Це дуже видно. Це дорожче, ніж внутрішній код, тому він отримує багато уважного вивчення. Оскільки я не буду довкола її підтримувати, він дуже ретельно перевіряє. Покрокові інструкції та рукописний переказ дуже важливі. Є деяка гордість у майстерності. Але почуття власності немає.

Мій рекорд - 17 років виробництва. 12 з тих років, що не мають будь-якого обслуговування.

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

Наступний найдовший пробіг - про який я знаю - був 7 років бездоганної роботи. Однак ця проблема мала серйозну проблему Y2K і вимагала певних переробок, щоб використовувати імена файлів, які мали чотиризначні роки. Внутрішні алгоритми виявилися правильними, але файли журналів відображалися б у неправильному порядку.

Знову ж таки, я знаю, що це було бездоганно, оскільки файли не торкалися з моменту останнього випуску, який я зробив.

Отже, так, у майстерності є велика гордість.

Але ніякої "власності". Це їх код, а не мій. Я лише будую його.


1
Ясно демонструє, що навіть досконалі програми потребують змін, оскільки змінюється світ.

10

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


9

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

Слово "моя" має цілий ряд варіацій за своїм значенням. "Моя дружина" та "моя зубна щітка" не є суворо паралельними.


4

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

Скажіть собі: "Я зробив це, це добре, але це не моє, і я можу зробити більше". Якщо ви вірите в це, то коли 6 місяців вашого життя стає застарілим, оскільки представник з продажу неповноцінного продукту дав вашому начальнику БД за обідом, ви не втратите роботу за те, що божеволієте за ним.

Пам'ятайте, що вони вам платять. Ми всі хотіли б робити круті речі, але якщо вони платять нам копати нори, то знову заповнюємо їх, це їхня привілей. У мене просто склалася ситуація, коли я писав веб-додаток, потім витрачав місяці, включаючи жахливі функції, а потім більше місяців кодуючи його до початкового стану. Останні два тижні, що варті "роботи", я витягнув з репортажу SVN, а потім повторно додав його до нових номерів версій. І я з цим добре.


3

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


0

Так і ні.

Так - це щось, що ви створили, і тому у вас є вкладення, подібно до того, як дизайнер автомобілів пишається або бентежить, коли вони бачать машини, які вони спроектували на дорозі.

Ні - Що стосується права власності, зазвичай ви відмовляєтесь від цього в обмін на те, що вам заплатили за роботу в компанії. Співробітники заводських ліній, які будують автомобілі, не отримують права власності на кожен, хто скачується з лінії, тому що їм платять за свій час.


0

Я відчуваю дуже власність щодо коду, який я пишу; це відображає рішення, яке я прийняв щодо вирішення заданої проблеми, і, отже, є відображенням моєї здатності раціонально мислити проблему та придумувати логічне та сподіваюсь елегантне рішення. Однак, все, що я пишу на час компанії, належить компанії. Я сподіваюся, що нічого з цього не повернеться, щоб мене вкусити, і я вважаю за краще попросити виправити власний код, але якщо ні, то ні. (І я можу додати, що хлопець, який писав код три місяці тому і вводив моє ім'я в управління джерелом, - ідіот).


0

Зовсім ні. Як тільки я це перевіряю, це вже не "моє". Я, звичайно, буду хлопцем для обслуговування та усунення несправностей, але я не відчуваю почуття власності щодо цього.

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


0

Я люблю коди, які пишу. Я розумію їх і адаптую їх, щоб інші теж. Коли люди підходять до мене і кажуть "Чувак, ми все ще використовуємо той сценарій, який ти написав для нас. Він такий стабільний і портативний", я люблю це почуття гордості та власності.

Немає шкоди приєднуватись до свого коду, якщо ви бачите, куди він усе-таки закінчиться, тобто якщо це все вдома, і ви знаєте, для кого або для чого програмуєте, то я б фактично сказав, що це добре отримати додається. Тому що ви тільки любите створювати більше фрагментів блиску, що набагато більше.

З іншого боку (цілком усвідомлюючи, що я можу повторити те, що сказав @ S.Lott), якщо код перетвориться на власність клієнта, то сенс у цьому не має сенсу. Це як ... піклуватися про щеня твого друга, коли він піде у відпустку. : - /


0

Підрядники та консультанти, які ніколи більше не побачать свій код, напевно, не є ідеальним кандидатом, щоб емоційно прив'язатись до свого коду. Необхідність "відмовлятися" від неї знову і знову, мабуть, калічить творчий потяг бідних консультантів через деякий час.

Якщо ми подивимось на це з точки зору працівника, а не підрядника, я б сказав, що я хотів би, щоб усі члени моєї команди відчували право власності на код, який вони пишуть, і у всьому створеному. Ця власність і гордість повинні поширюватися на весь колектив. Відчуття гордості та власності створює прив’язаність до продукту в питаннях та додає сенсу та сенсу роботі члена команди. Я бачив, що це збільшує ефективність в невеликих і великих командах.

Чого слід уникати, а що мені не подобається, це люди, які, здається, емоційно прив’язані до певних рядків коду, які вони написали, і захищають його до глибини. Вони не хочуть, щоб зміни були внесені, вони дивляться вниз і відкидають будь-яку ідею для змін або вдосконалення і намагаються виправдати її чимось, що звучить правдоподібно. Що часто зводиться до цього, з мого власного досвіду, це страх змін і страх перед невідомим. Це насправді не відмова від своїх старих рядків коду. Натомість потрібно взяти на озброєння щось нове, інколи не написане самим собою, і страх не вдатися до цього.

Цей вид "хворого" вкладення коду - це те, що я наполегливо працюю, щоб спробувати запобігти. Але "здорові" емоційні зв'язки з продуктом і, поширюючи написаний код, - це те, що я заохочую.


0

Це цікаве питання, і я погоджуюся з однією з публікацій вище: Так і Ні - але з різних причин.

Чи став я приєднаним до коду? Однозначно так. Але я не думаю, що це сам код , а загальна архітектура та додаток. Зазвичай вам доведеться зробити багато досліджень, що стосуються домену, перш ніж ви дійсно зможете ввести код того, чого хочуть ділові люди (якщо ви не пишете IDE - тоді ви напевно застрягли в рекурсії).

З іншого боку: Існує не так багато речей, які мені подобаються більше, ніж викидання застарілих частин кодової бази. Якою б складною не була написаність. Подорож має значення набагато більше, ніж продукт (принаймні, для егої, звичайно, і сам продукт повинен працювати).

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

Так що в цілому я намагаюся перейняти прагматичні "стосунки" з кодом, який я пишу.


0

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

Ні, не дуже. Мені платять за розробку програмного забезпечення. Хоча я і зізнаюся, бачення виправлень, зроблених моїм кодом іншими дисками, впливає на -его-.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.