【重复代码】过多注释(Duplicate Code)--如何解决代码中重复代码?

过多注释(Comments)

●症状和特点

   两段代码看起来几乎相同。
在这里插入图片描述

●问题产生的原因

   代码重复通常发生在多个程序员同时处理同一个程序的不同部分时。由于他们正在处理不同的任务,他们可能没有意识到他们的同事已经编写了类似的代码,这些代码可以重新用于他们自己的需求。
   还有更微妙的重复,代码的特定部分看起来不同,但实际上执行相同的工作。这种复制很难发现和修复。
   有时复制是有目的的。当急于赶时间,而现有的代码“几乎适合”这项工作时,新手程序员可能无法抵抗复制和粘贴相关代码的诱惑。在某些情况下,程序员只是懒得整理。

●解决方法

●果在同一个类的两个或多个方法中发现了相同的代码:使用提取方法法并在两个地方调用新方法。
在这里插入图片描述

●如果在同一级别的两个子类中发现了相同的代码:
   ○对这两个类使用提取方法法,然后对正在提取的方法中使用的字段使用字段上移法
   ○如果重复代码在构造函数中,则使用构造函数本体上移法
   ○如果重复的代码相似但不完全相同,请使用塑造模板函数法
   ○如果两种方法做同样的事情,但使用不同的算法,选择最好的算法,并应用替換算法法

●如果在两个不同的类中发现重复的代码:
   ○如果类不是层次结构的一部分,则使用父类提取法为这些类创建一个维护前面所有功能的单一父类。
   ○如果很难或不可能创建超类,可以在一个类中使用:提炼类法,在另一个类中使用这个类。

●如果存在大量的条件表达式并执行相同的代码(只是条件不同),请使用合并条件表达式法将这些操作符合并为一个条件,并使用提取方法法将条件放在一个名称易于理解的单独方法中。

●如果在条件表达式的所有分支中执行相同的代码:合并重复的条件片段法将相同的代码放在条件树之外。
在这里插入图片描述

●好处

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

猜你喜欢

转载自blog.csdn.net/weixin_41937380/article/details/128713931
今日推荐