如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?

我希望这份清单是多样的,涵盖范围很广。

搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:

inquestion:this "Code Complete"

当前回答

Martin Fowler的《重构:改进现有代码的设计》已经被列出。但我会详细说明它对我的影响。

整本书的本质是关于如何构造代码,以便人类更容易阅读和理解。它强烈地告诉我,我写的代码是为了让我的同事和后继者消费,并可能从中学到一些好的东西。它激励我有意识地以一种方式编程,让人们赞美我的名字,而不是诅咒我,直到永远。

其他回答

可选文字 http://ecx.images-amazon.com/images/I/51E0Ojkz8iL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg

@Peter Coulton——你不是读Knuth,而是研究它。

对我和我的工作来说…纯函数式数据结构非常适合用函数式语言进行思考和开发。

唐纳德·诺曼,《日常用品的设计》

不是关于编程本身,而是关于世界上的事物应该如何工作——这是一种可用性心理学。

在设计终端用户界面和api方面,这对我来说是无价的。

实用主义程序员:毫无疑问,从熟练工到大师。书中的建议很好地表达了出来,而且很简单,给人的感觉就像是《常识程序员》。爱死它了。

不是一本编程书,但仍然是每个程序员都应该读的一本非常重要的书:

戈登·麦肯齐的《绕巨型毛球运行》