如何说服同事代码重复是坏的?

vit*_*aut 33 refactoring coding-style copy-paste code-duplication

我的一位同事正在我们一起工作的项目中实现一个新功能,他通过从同一个项目中获取包含类似功能实现的文件来创建它,创建一个重命名所有全局声明并稍微修改它的副本.实现.所以我们最终得到了两个大文件,除了重命名之外几乎完全相同.

我试图解释它使我们的项目更难维护,但他不想改变任何说他更容易以这种方式编程的东西,并且没有理由修复代码,如果它"不是打破了".

我怎么能说服他这样的代码重复是件坏事呢?

它与这些问题有关,但我对针对技术人员(另一个程序员)的答案更感兴趣,例如,对书籍这样的权威来源的引用会很棒.我已经尝试过简单的参数并且没有成功.

Ode*_*ded 27

问他在他的代码中发现错误时他会做什么.他现在需要修理多少个地方?

你也可以向他展示这个问题的答案(为什么"复制和粘贴"代码很危险?).


Bra*_*rad 12

当他想要咖啡时,让他一次从咖啡壶中啜一口,而不是整杯.如果他添加奶油和糖,这将是必须以微小的部分打扮出来,这是特别有效的.这应该说明重复性任务是如何非常麻烦和累人的(比如纠正20个代码而不是一个代码).

然后,向他发送一个链接到这个帖子,这样他就可以看到所有其他人有你的背.


Eld*_*Mor 10

这里有两个选项:

  1. 他是一个理性的人,根本没有太多的经验.在这种情况下,您可以合理化您的论点,也许可以通过向您展示代码中其他人的代码重复的更清晰的示例.你也可以在原始副本中找到一个错误(甚至更好,一些错误),并告诉他现在他的代码被破坏了,他必须修复它.

  2. 他是一个顽固的屁股:那么你不应该浪费精力在他身上.去找他的老板让老板照顾好.有些人就是这样.

虽然第一种选择显然要好得多,但有时候你没有选择.如果你最终需要在凌晨3点维护他的代码,因为一些重要的客户开始在地球的另一边喊叫 - 那么这绝对是你的问题,你的老板应该处理它.

最后,如果你的老板认为你错了,你可能在错误的地方.


Eti*_*tel 8

给他一份重构.

  • 就像我这样的新手的未来参考:http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672 (2认同)

Ale*_*own 5

改进你的代码版本以至于他对嫉妒感到沮丧,然后说 - 如果你刚刚链接到我的代码......