https://www.v2ex.com/t/754480#reply29
这个讨论来自以上的链接
继续来说,你是说有个人觉得公司的代码都是复制粘贴,然后改两下就直接用
他觉得可以抽象一下,应该可以弄得更好
后面也我倒觉得有个人说的挺有道理的,就是抽象未必是好的
因为从小总会引入一些约束,如果后面有些变化,在你的约束以外,那你就麻烦了
这是系统架构设计难的一方面,因为系统架构这种抽象,你一旦定好了,比较难改变
你给抽象一下, 万一后面改功能, 你这个抽象不支持怎么办? 别总以为代码简洁就是美, 美则美矣, 却丧失了各种可能, 又有什么用?
另一个人是从成本的角度考虑
制粘贴再修改,付出的是人力成本,请几个应届生搞定。
抽象封装搞优化,付出的是脑力成本,找个高手费钱费力
还有从风险的角度考虑
然轮子哥 @GeniusVczh 非常推崇 DRY 原则,但是,在某些人那里,DRY 就是个灾难,因为他没有足够的抽象能力,DRY 出来的东西就是一堆狗屎,然后每次要加新功能,就彻底重写一次;或者是每次加新功能,都要打一堆补丁,然后你发现,补丁摞补丁,终于又成了一堆屎山