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

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

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

inquestion:this "Code Complete"

当前回答

Craig Larman的《应用UML和模式》。

这本书的书名有点误导人;它确实处理了UML和模式,但它涵盖了更多。这本书的副标题告诉你更多:面向对象分析和设计以及迭代开发简介。

其他回答

托马斯·弗里德曼的《世界是平的》。

要想在编程方面取得卓越的成就,需要投入大量的精力和持续学习的精神,这与医学或法律专业不相上下。它所支付的工资只是这些职业的一小部分,更不用说那些进入金融业的数学高手了。编写代码的工资也在下降,因为在大多数经济体中,这是一个对聪明人和自律者来说相对容易进入的职业。

编程已经被侵蚀到比管道工作还便宜的地步。管道不能“外包”。你不需要每隔一年花2395美元参加一次专业管道工大会,就能获得一套全新的管道技术,这需要你花一年的时间来学习。

如果你生活在北美或欧洲,又年轻又聪明,编程并不是一个理性的职业选择。当然,涉及编程的业务。学习商业,了解足够多的编程知识来完善你的废话探测器:太棒了。但是把你大部分的精力都投入到掌握库、数据结构和算法上呢?只有当编程对你来说不仅仅是一种经济选择时,这才有意义。

如果你热爱编程,并因此打算把它作为你的职业,那么你就有必要冷静地认识到,这些力量正在并将继续使它成为一个越来越难谋生的职业。《世界是平的》不会教你如何给变量命名,但它会让你花6到8个小时沉浸在已经到来的经济现实中。如果你能读懂它,而且不害怕,那就去买《代码完成》吧。

从头开始编程。在网上是免费的。这本书教会了我AT&T。它很容易读。

Schaum的《c++编程大纲》,作者John R Hubbard。

这是我读的第一本编程书,那时我刚开始学习c++。这是一个看到我对编程感兴趣的人送给我的。这本书非常适合初学者——它从基本概念开始,一直到模板和向量。所举的例子非常相关。这本书让你思考和提出更多的问题,并亲自尝试一些事情。

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

Mary和Tom Poppendieck的《精益软件开发》绝对是每个开发人员的书架上的书