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

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

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

inquestion:this "Code Complete"

当前回答

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

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

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

其他回答

c++对象模型内部,作者Stan Lippman。它让我终于“点击”了c++,在它变成“魔法”之前。当我接触一种新的编程语言时,这本书给了我一种不同的心态。

有效使用遗留代码是一本非常棒的书,它详细介绍了如何正确地进行单元测试,以及它的真正好处是什么。这真的让我大开眼界。

这并不是对这个问题的直接回答,因为我觉得上面已经回答过了,然而,有一本书对我的编码方式产生了明显的影响,那就是《代码阅读》第1卷:开源视角。

可选文字 http://g.bookpool.com/covers/405/0201799405_140_30O.gif

虽然我同意上面的许多书都是必读的(实用程序员、神秘的人月、计算机编程艺术和SICP立刻映入我的脑海),但我想走一个稍微不同的方向,推荐Edsger Dijkstra的《编程规程》。尽管它已经有32年的历史了,但它对“可验证性设计”的强调仍然非常重要(即使“可验证性”意味着“证明”而不是“单元测试”)。

Eric Evans的《领域驱动设计》是一本很棒的书!