Summary: 在条件表达式的每一个分支上有着相同的一段代码。将这段重复代码搬移到条件表达式以外。函数
动机: spa
有时你会发现,一组条件表达式的全部分支都执行了相同的某段代码。若是是这样,你就应该将这段代码搬移到条件表达式外面。这样,代码才能更清楚地代表哪些东西随条件的变化而变化、哪些东西保持不变。im
作法:img
1.鉴别出“执行方式不随条件变化而变化”的代码。移动
2.若是这些共通代码位于条件表达式起始处,就将它移到条件表达式以前。分支
3.若是这些共通代码位于条件表达式尾端,就将它移到条件表达式以后。
4.若是这些共通代码位于条件表达式中段,就须要观察共通代码以前或以后的代码是否改变了什么东西。若是的确有所改变,应该首先将共通代码向前或向后移动哦,移至条件表达式的起始处或尾端,再之前面说的办法来处理。
5. 若是共通代码不止一条语句,应该首先使用Extract Method将共通代码提炼到一个独立函数中,再之前面所说的办法来处理。