一、Duplicate Code 重复代码
1、什么是duplicate code?
常见情况:a:同一个类中两个函数中含有相同表达式。
b:两个互为兄弟的子类中含有相同表达式。
c:两个毫不相关的类出现duplicate code。
2、怎么样重构duplicate code?
a情况extract method提取重复代码,让两个地方都调用提炼出来的那一段代码。
b情况extract method提取重复代码,然后放入超类中。如果代码只是类似并非完全相同怎么做?
运用extract method把相似和差异分开,构成一个单独函数。
c情况应该考虑对其中一个使用extract class,将重复代码提取到一个独立类,然后在另一个类中使用这个新类。但是,重复代码也许只可能的确属于某个类,总之需要决定这个函数放在哪儿最合适,并确保它被安置后,不会在其他地方出现。