Language agnostic 有没有办法测量复制/粘贴代码所引入的错误数?

Language agnostic 有没有办法测量复制/粘贴代码所引入的错误数?,language-agnostic,copy-paste,Language Agnostic,Copy Paste,我认为复制/粘贴是业内最糟糕的做法之一 复制并粘贴代码片段没关系。这就是大多数代码首先学习的方式,可以节省大量时间 绝对有害的(至少在我看来)是从同一项目中的类或文件中复制一段代码!。执行几乎相同操作的代码片段,但在一两行代码中有细微的变化 问题是,在生产几个月后或仍处于测试阶段时,必须引入更改。因为它们不是相同的代码,所以您不能应用相同的更改,或者由于某种原因,相同的补丁似乎不起作用(直到几个小时后,您意识到,执行了中间调用或类似的操作) 虽然这是我对这个话题的感觉,但我真的不知道是否有关于这

我认为复制/粘贴是业内最糟糕的做法之一

复制并粘贴代码片段没关系。这就是大多数代码首先学习的方式,可以节省大量时间

绝对有害的(至少在我看来)是从同一项目中的类或文件中复制一段代码!。执行几乎相同操作的代码片段,但在一两行代码中有细微的变化

问题是,在生产几个月后或仍处于测试阶段时,必须引入更改。因为它们不是相同的代码,所以您不能应用相同的更改,或者由于某种原因,相同的补丁似乎不起作用(直到几个小时后,您意识到,执行了中间调用或类似的操作)

虽然这是我对这个话题的感觉,但我真的不知道是否有关于这个话题的研究,或者相关的东西

问题

是否有人有参考/论文/文章/研究报告或任何关于复制/粘贴代码造成的损坏的内容

相关的:

我建议尝试一种静态分析工具,如。


我建议尝试一个静态分析工具,如。

这是一个问题的例子,有一些丰富多彩的同义词。

这是一个问题的例子,有一些丰富多彩的同义词。

如果您在同一个项目中复制/粘贴代码,也许你应该考虑重构,把代码拉到一个函数中去,这就是我所说的。你应该把它们之间的微小变化参数化。相关的问题——如果你在同一个项目中复制/粘贴代码,你可能应该考虑重构和把代码拉到一个函数中去。这就是我所说的。你应该把它们之间发生变化的所有小事情参数化。相关的问题——很可能没有人会给出他们认为值得否决的答案。因此,如果这是否决权的标准,那么没有人会得到任何否决权。再投几张反对票,我就可以因为删除它而获得一枚徽章!这只显示了复制的数量,而没有显示复制/粘贴代码造成的损坏。@Daniel我认为它成功地“测量了复制/粘贴代码引起的错误数量?”@Instantsoup:因为复制粘贴代码是一种错误,既然它现在可以工作了,那么它就是一场即将发生的维护灾难?我可以对此表示同情。大概没有人会给出他们认为值得否决的答案。因此,如果这是否决权的标准,那么没有人会得到任何否决权。再投几张反对票,我就可以因为删除它而获得一枚徽章!这只显示了复制的数量,而没有显示复制/粘贴代码造成的损坏。@Daniel我认为它成功地“测量了复制/粘贴代码引起的错误数量?”@Instantsoup:因为复制粘贴代码是一种错误,既然它现在可以工作了,那么它就是一场即将发生的维护灾难?对此我深表同情。