我们经常落到使用拷贝和粘贴(ICP-I Copy & Paste)的陷阱里,而如果一个循环或者一个子过程就足够了,(注:这是伪懒惰的一种形式)那么这时候我们实际上应该定义一个更高层次的抽象。但是,有 些家伙却走向另外一个极端,定义了一层又一层的高层抽象,而这个时候他们应该用拷贝和粘贴。(注:这是伪傲慢的一种形式。)不过,通常来讲,我们大多数人 都应该考虑使用更多的抽象。
落在中间的是那些对抽象深度有平衡观念的人,不过他们马上就开始写自己的抽象层,而这个时候他们实在是应该重用现有的代码。(注:你也许已经猜到了——这是急燥。不过,如果你准备推倒重来,那么你至少应该发明一种更好的东西。)
如果你准备做任何这样的事情,那么你都应该坐下来想想,怎样做才能从长远来看对你和你的邻居最有好处。如果你准备把你的创造力引擎作用到一 小块代码里,那么为什么不把这个你还要居住的这个世界变得更美好一些呢?(即使你的目的只是为了程序的成功,那你就要确信你的程序能够符合社会生态学的要 求。)
没有评论:
发表评论