很多人都习惯性地鄙视CTRL+C,CTRL+V,好象一旦和它们沾边,就是烂代码,其实大可不必。我们考虑一下,为什么不能CTRL+C,CTRL+V 呢?因为这些代码不好维护,打个比方说,有两处相同的代码,那么有可能就要改两处。但是,你们有没有碰到这么一种情况呢,我们先来假设一下,有三个地方,A、B,C,都调用到一个函数,这个函数称为 M 吧。但是,不久之后,接到一个需求上的变化,A 的业务改变了,需要修改 M 的函数,但B,C 的没有变,那么我们习惯性的在函数 M 里加个 if 来判断,如果是 A 的业务,就如何如何。不久之后,又收到需求变化,B 的业务改变了,那么习惯性的,又会在 M 函数里加一个 if 逻辑块。不久之后,又收到需求变化,C 的业务改变了,那么习惯性的,又会在 M 函数里加一个 if 逻辑块。请问,这样 M 函数充满这么多的 if ,还容易维护吗?还不如写成三个函数呢。所以,我们大可不必视复制粘贴为洪水猛兽,只要在可控的范围内就行了,当然,如果业务确定下来是不会变化的,还是一个。什么是可控呢?我觉得复制只有两、三个地方,都问题不大。总之,存在这是合理,很多时候,我们总习惯于高估自己,而低估别人。