重复--摘自《代码整洁之道》

每次看到重复的代码,都代表遗漏了抽象。重复的代码可能成为子程序或干脆是另一个类。将重复代码叠放进蕾西的抽象,增加了你的设计语言的词汇量。其他程序员可以用到你创建的抽象设施。编码变得越来越快,错误越来越少,因为你提升了抽象层次。

重复最明显的形态是你不断看到明显一样的代码,就像是某位程序员疯狂地用鼠标不断复制粘贴代码。可以用单一方法替代之。

较隐蔽的形态是在不同模块中不断重复出现,检测同一组条件的switch/case或if/else链。可以用多态替代之。

更隐蔽的形态是采用蕾西算法但具体代码行不同的模块。这也是一种重复,可以使用模板方法模式或者策略模式来修正。

--------------------------------------------------------------------------------------------------------------------------

 

你可能感兴趣的:(重复--摘自《代码整洁之道》)