进而难以维护，因为需要人工寻找并修改重复的部分。然而由于种种原因，适当的代码重复难以避免，例如给与已有设备相似的新设备写驱动程序时，复制代码能使开发更便捷。当复制具有软件漏洞的代码时，如果开发人员不知道这样的副本，则复制的代码中可能会继续存在漏洞。代码重构可以改善许多软件的度量衡标准，例如源代码行数，循环复杂度和耦合度。这可能会缩短编译时间，降低认知负载，减少人为错误，减少被遗忘或被忽视的代码。但并不是所有的代码重复都可以被重构。如果编程语言提供不充分或过于复杂的抽象，克隆或许是具有速度效益上的解决