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

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

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

inquestion:this "Code Complete"

当前回答

Kent Beck的《极限编程》

其他回答

我回答这个问题已经晚了,但显然我还有一些独特的东西可以提供……Barry Boehm写的《软件工程经济学》,总结一下,如果你想要真正提高软件的生产力,就需要更好的人,因为更好的工具、硬件、语言、方法等都会产生边际影响。只有优秀的人才能显著提高生产率。我强调,这是更好的工程师,而不是更多的工程师!

这本书不像《Coders At Work》那样能让你带着上床睡觉,而是能让你深刻体会到我们这个行业一直在努力牢记在心的教训。以离岸为例,这是一种虚假的经济,Boehm的模型预测,如果有的话,也只会产生边际的积极影响。来看看。

实际上,有两本书比较突出。第一个是“代码完成”。尽管已经过时了,这仍然是一本非常有用的书,关于过早优化的危险的章节本身就值回这本书的价格。

第二本书是《日常事物的心理学》(我想现在叫做《日常事物的设计》),这本书改变了我在设计应用程序时对用户界面的思考方式。这让我更加关注用户。

我是Robert C. Martin的大多数书籍的忠实粉丝,尤其是敏捷软件开发、原则和实践以及干净的代码:敏捷软件工艺手册。

编写可靠的代码,作者:Steve Maguire。

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