17
有什么好的简洁的方法可以向非程序员解释复制粘贴编程的危险?[关闭]
我正在寻找一个很好的类比或隐喻,可以向非程序员说明复制粘贴编程的问题。我偶尔会为潜在客户进行代码/系统审查,而我看到的常见问题之一是在他们的代码库中有大量的复制粘贴代码。我经常在评论中提到这一点,每次我都必须解释为什么这是一个问题(对于那些只了解编程才能理解重用是一件好事的客户而言,这尤其困难,但不足以理解为什么会这样)复制粘贴不是很好的重用形式)。显然,我可以(并且确实)通过代码维护来解释该问题,但是对于这个非程序员会遇到的问题,有一个很好的,简洁的类比会很好。如果类比说明了为什么“搜索替换”不是此问题的有效解决方案,那将是一个好处。有什么建议么? 只是为了澄清一下(基于下面的Jaroslav的回答)-我不是在这里使用代码段。我看到的(经常是令人不安的)是大量代码的复制和粘贴,或者是十行代码的代码,用于将一些用户数据(使用内联SQL查询完成)粘贴到数十个PHP或ASP.NET页面中。因此,从同一项目中其他地方重复代码。 更新:这里有几个非常好的答案。我已经在评论中解释了为什么我选择Scott Whitlock的答案,但是如果您要与完全熟悉制造的客户打交道,我也强烈建议您使用whatsisname的答案。