可能会非常困难，因此开发人员可能先重构这部分代码，使加入新的行为变得容易。一个重构的小范例是修改一个变量的名称使其具有更明确的含义，例如从单个字母的「i」重构为「interestRate」（利率，图一）。较复杂的重构是把一段if区块中的代码变为一个子程序（图二）。更复杂一点的重构是用多态性来替换codice_1 条件式。「清理」代码已经发生了几十年，重构中最关键的认知是有意地「清理」代码，透过从已知的纪录里一些常用的重构方法清理代码，把它从增加新功能分开，然后个别的对代码进行测试（任何的行为改变都可能带