The Wrong Abstraction

软件工程教科书教育我们,要把重复的代码抽取出来,变成函数或者类,美观实用好维护。实际上呢?往往随着时间的推移,原先抽象出来的类或者函数被改得凌乱不堪,还不如把原来重复的代码放回去呢。