最近在看代码大全,觉得这本书写非常好,这本书没有涉及太多的算法和代码,讲的是一种编程的一种思维模式。
在过去的十几年中,优秀的软件开发人员们积累了几十条关于开发软件的技术和技巧,有
些像咒语般灵验,这些技术不是规则,它们是分析工具。一个优秀的工匠知道用什么样的工
具干哪一样工作,而且知道该如何使用它们。程序员也是如此,关于编程你理解得越深入,
你的工具箱里的工具也就越多,何时何地该如何运用它们的知识也就越多。
把方法和技巧当作工具是很有益处的,因为这样可以使我们对其有一个正确的态度。不
要把最新的“面向对象设计技术”当作上帝赐予的法宝,它不过是一件在某些场合下有用,
而在某些场合下又无用的技术。如果你拥有的唯一工具就是一把锤子,那么你就会把整个世
界都当作一个钉子。好在没有人会花 500 美元一天的费用来雇佣一个仅告诉你去买一把可以
解决一切问题的锤子的研究小组,也没有人建议你丢掉你的改锥、手钻和电烙铁。
在软件开发中,常常会有人告诉你用一种方法来代替另外一种方法。这实在不幸,如果
你仅仅采用一种方法,那你就会把整个世界都当成那个工具的作用对象。你会失去用更适合
的方法解决问题的机会。工具箱隐喻有助于我们保留一切方法、技巧、技术等,并在适当的
时候使用它们。