[重构]Duplicated code
Duplicated Code(重复代码)
影响:程序中到处都是相同结构的表达式。若想修改此表达式,需要修改多个地方。
目标:相同表达式合并成一起,避免多处修改。降低修改成本。
下面是常见的几种。如果有没涉及到的Duplicated Code 欢迎补充。
1、同一个类有相同的表达式。
Demo:一个DepartmentController
public string SaveDepartment(Employee emp) { var result = Repository.Save(emp); return Repository.BuildResult(result); }
当然上面的的情况是很明显的Bad Smell。两个表达式完全相同,可以直接看出。
如果两个子类里含有的表达式并非完全相同,而是有一部分相同,这个时候把相同的部分提出来。然后把相同的部分整到父类里。
4、两个不相干的类含有相同表达式。
如果两个不相干的类中有相同的表达式,那么把这个表达式提到一个Common类中。然后让这2个类分别调用我们新建的Common类。
除此之外还有其他的Duplicated Code。欢迎大家补充。
2012/8/15