对代码的情感依恋[关闭]


26

作为公司的员工,当您编写代码时,您是否觉得自己有附件?您是否觉得自己拥有该代码的所有权?还是您将它写成与它完全分离,而不用担心转移到其他内容之后会发生什么?

编辑:我不是在谈论编写错误的代码,然后运行...


强烈依赖工作场所文化。

Answers:


33

在担任承包商30年之后,情况好坏参半。

  1. 都是一次性的。我已经与数百位客户合作。我再也看不到代码了。为什么会依恋?没有主人翁感。

  2. 非常明显。它比内部代码昂贵,因此需要进行大量审查。由于我不会维护它,因此需要进行大量检查。代码演练和切换非常重要。对工艺有一种自豪感。但是没有主人翁感。

我的记录是17年的生产。那些年中的12年零维护。

我知道,因为我接到了电话。他们正在修改会计系统,并想知道如何替换我多年前构建的巧妙的成本分配算法。我查看了一下代码,这些文件自12年前的上一次增强以来没有变化。(不是错误修复程序,AFAIK。)

我所知道的下一个最长的运行是7年的完美运行。但是,这有一个严重的2000年问题,需要做一些修改才能使用具有4位数字年份的文件名。内部算法都正确,但是日志文件的显示顺序将错误。

再一次,我知道它是完美无瑕的,因为自从我制作了上一个版本以来,从未碰过这些文件。

因此,是的,工艺上有很多自豪感。

但是没有“所有权”。这是他们的代码,不是我的。我只建造它。


1
清楚地表明,即使世界变了,完美的程序也需要改变。

10

作为一个或多或少的开发人员,担心必须保持自己编写的内容是导致我不编写可怕代码的主要驱动力。


9

在工作中,某些代码是我的,其含义与我坐在椅子上的方式类似。我写了它,并尽我所能使它变得更好,让我感到占有欲,人们会问我一些变化,人们会将其称为我的。而且,就像我的椅子一样,一旦我离开公司,我将再也见不到它,也不再有情感上的依恋。

“我的”一词在其含义上有很多变化。“我的妻子”和“我的牙刷”并非严格平行。


4

如果您自己编写代码,那么您可以对它有所感触。如果您为企业编写代码,则必须在可能的情况下恶意清除这些感觉。我无法数出我见过一个好的程序员因对代码产生情感而导致自己悲痛的次数。

对自己说:“我做到了,很好,但这不是我的,我可以做得更多。” 如果您相信这一点,那么当您的生活中的六个月因劣质产品的销售代表给您的老板提供BJ午餐而过时时,您就不会因为对他发疯而失去工作。

记住他们在付钱给你。我们都想做一些很棒的事情,但是如果他们付钱给我们挖洞,然后再次填补它们,那是他们的特权。我只是在那里我写了一个Web应用程序,然后花了几个月的结合可怕的特性,那么个月的情况编码它回到原来的状态。我从SVN存储库中提取了最后两个星期的“工作”,然后用新的版本号重新提交了它。我对此表示同意。


3

不,但是我真的很讨厌必须修复别人在我最初编写的代码中引入的错误。如果首先将更改分配给我,我会更开心。当修复完全超出原始设计时,我会更讨厌它,例如,通过使用更高级别的模块创建循环依赖项。


0

是和否

是的-这是您创建的东西,因此具有附件,就像汽车设计师在路上看到自己设计的汽车时感到骄傲或尴尬一样。

否-就所有权而言,通常您会放弃以换取在公司工作的报酬。生产汽车的工厂生产线员工在每辆下线的汽车上都没有所有权,因为他们是按时支付工资的。


0

对于编写的代码,我感到非常专有。它代表了我关于如何解决给定问题的决定,因此反映了我有能力理性思考问题并设计出合乎逻辑的,希望是优雅的解决方案的能力。就是说,我在公司时间写的一切都属于公司。我希望所有内容都不会再次咬我,我更希望被要求修复自己的代码,但是如果没有,那就不要。(我可能还要补充一点,三个月前写代码并将我的名字写在源代码控制中的那个家伙是个白痴)。


0

一点也不。一旦我签入,它就不再是“我的”。自然,我将成为维护和故障排除的负责人,但我对此没有主人翁感。

我知道有些人对他们的代码非常专有,以至于如果其他人修复了某个错误或以某种方式修改了该错误而不首先运行它们,他们会感到恼火。我从来没有那样的感觉。我所要问的是,如果您在我的代码中发现问题并予以解决,请告诉我问题是什么以及如何解决,这样以后我就不会再犯同样的错误了。


0

我喜欢我写的代码。我了解它们并为他们量身定做,其他人也可以。当人们上前对我说“ Dude,我们仍在使用您为我们编写的脚本。它是如此稳定和可移植”,我喜欢这种自豪感和主人翁感。

如果您可以看到代码的最终结局,那么附加到您的代码上也没有什么害处,即如果全部在内部并且您知道要为谁或什么编程,那么我实际上说获得它是一件好事附上。因为您只会爱创造更多的光彩,更多。

另一方面(完全意识到我可能会重申@ S.Lott所说的话),如果代码最终将成为客户端的财产,那么就没有多愁善感了。就像...度假时照顾他朋友的小狗。:-/


0

可能再也看不到他们的代码的承包商和顾问可能不是理想的候选人,他们在情感上依附于他们的代码。不得不一遍又一遍地“放弃”它可能会在一段时间后削弱可怜的顾问的创造力。

如果我们从雇员而不是承包商的角度来看这个问题,我想说的是,我希望我的所有团队成员都对他们编写的代码和创建的所有内容都感到主人翁。这种所有权和自豪感应延伸到整个团队。感到自豪和主人翁感会产生对产品的依恋,并在团队成员的工作中增加意义和意义。从小型到大型团队,我都看到这大大提高了性能。

应该避免的是,我不喜欢的人似乎在情感上依附于他们所编写的特定代码行,并将其捍卫于坟墓。他们不希望进行任何更改,而是轻视并拒绝任何更改或改进的想法,并尝试用听起来可信的东西来证明它的合理性。根据我自己的经验,这通常可以归结为对改变的恐惧和对未知的恐惧。实际上,这并不是放弃他们的旧代码行。相反,它必须承担一些新的任务,有时不是您自己编写的,并且害怕失败。

我努力避免这种对代码的“病态”附件。但是我鼓励与产品建立“健康”的情感联系,并通过扩展书面代码。


0

这是一个有趣的问题,我同意上面的帖子之一:是和否-但出于不同的原因。

我对代码越来越重视吗?绝对可以。但是我不认为这是代码本身,而是整体架构和应用程序。通常,您必须先进行大量针对特定领域的研究,然后才能真正将代码放入业务人员想要的代码中(除非您正在编写IDE,否则肯定会陷入递归)。

另一方面:除了丢弃代码库的过时部分之外,我没有什么比我更喜欢的东西了。无论写作有多困难。旅程比产品重要得多(至少对于自我而言,当然产品本身也必须起作用)。

有主人翁感吗?好吧,这取决于项目情况。如果您再也看不到代码了(因为您在项目中的工作已经结束,并且继续进行),那么为什么对这些内容感到浪漫?但是,如果您继续支持(以任何方式),那么依恋是一件好事!当您关心要制造的产品时,您就很有可能会尝试提供高质量的工件。

因此,总而言之,我尝试与我编写的代码采用务实的“关系”。


0

地狱是的,我曾经殴打一位同事,因为他很自大,无法重命名几个变量。

不,不是。我得到软件开发的报酬。即使我承认,看到其他开发人员对我的代码进行的错误修正也会对-ego-产生影响。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.