）。新的实现切合实际需要以改善现有设计，并且不改变原软件的意图或行为。重构面对业界调适接受方面的挑战。首先，对重构长远的影响需要更深入研究追踪。再者，重构存于资料库轮廓（database schema）的商业逻辑层几乎是不可能或者非常困难的。最后，对介面造成影响的重构可能造成程式开发上的困境，除非程式员有对所有使用者介面的存取权。例如，程序员若改变某实体中的方法名称，他要么必须对整个专案里头所有连结到旧名的参考都加以编辑，要么屈服于继续维护使用旧名的残株残瓦介面。而该旧名的介面于内部唿叫该方法的新名。