重复的代码
迹象和症状
两个代码片段看起来几乎相同。

问题的原因
重复通常发生在多个程序员同时处理同一个程序的不同部分时。由于他们正在处理不同的任务,他们可能没有意识到他们的同事已经编写了类似的代码,这些代码可以重新用于他们自己的需求。
还有更微妙的重复,代码的特定部分看起来不同,但实际上执行相同的工作。这种复制很难发现和修复。
有时复制是有目的的。当急于赶时间,而现有的代码“几乎适合”这项工作时,新手程序员可能无法抵抗复制和粘贴相关代码的诱惑。在某些情况下,程序员只是懒得整理。
治疗
如果在同一个类的两个或多个方法中发现相同的代码:使用提取方法而place在两个位置都调用新方法。
如果在同一级别的两个子类中发现了相同的代码:
如果在两个不同的类中发现重复的代码:
如果存在大量的条件表达式并执行相同的代码(只是条件不同),则使用巩固条件表达式和使用提取方法将条件放置在具有易于理解名称的单独方法中。
如果在条件表达式的所有分支中执行相同的代码:将相同的代码置于条件树之外,使用合并重复的条件片段.
回报
合并重复的代码可以简化代码的结构并使其更短。
简化+简短=代码更容易简化,支持成本更低。

何时忽略
- 在极少数情况下,合并两个相同的代码片段会使代码不那么直观和明显。