标题: 【上海校区】重构——Search Bad Code [打印本页] 作者: 不二晨 时间: 2019-1-14 09:32 标题: 【上海校区】重构——Search Bad Code Duplicated Code
首当其冲的当然是冗余代码。
最单纯的冗余,是同一个函数包含两个相同的表达式。这时候需要采用Extract Method提炼出重复的代码。
两个互为兄弟的子类包含同一个表达式。这时候需要对两个类使用Extract Method并且将提炼出的代码使用Pull Up Method,将其推入超类。而如果代码之间只是类似,并非完全相同,那么就得运用Extract Method将相似的部分和差异的部分割开,构成一个单独的函数,然后发现可以运用Form Template Method获得一个Template Method设计模式。如果有些函数以不同的算法做相同的事情,你可以选择其中一个清晰的,并且使用Substitude Algorithm将其他函数的算法替代掉。
如果两个毫不相关的类出现同一个表达式,我们可以考虑对其中一个使用Extract Class,将冗余代码提炼到一个独立的类中,然后在另一个类中使用这个新类。
too Long Function