以下几个原因：
成本与效益.不恰当的代码重复表明程序设计不良，例如缺少抽象。这会导致程序过长，错误更多，进而难以维护，因为需要人工寻找并修改重复的部分。然而由于种种原因，适当的代码重复难以避免，例如给与已有设备相似的新设备写驱动程序时，复制代码能使开发更便捷。当复制具有软件漏洞的代码时，如果开发人员不知道这样的副本，则复制的代码中可能会继续存在漏洞。代码重构可以改善许多软件的度量衡标准，例如源代码行数，循环复杂度和耦合度。这可能会缩短编译时间，降低认知负载，减少人为错误，减少