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

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

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

inquestion:this "Code Complete"

当前回答

当我开始使用Java进行开发时(直到今天仍在这样做),我不得不推荐该领域的杰出工作:Mr Bunny’s Big Cup o’Java。

摘自作者的简介:

学习Java最好的方法就是把一个Java编程专家的松果体植入你的大脑。遗憾的是,大多数hmo拒绝为这个挽救职业生涯的程序买单,认为Java太过实验性。对于我们这些等不及全面医疗改革的人来说,终于有了另一种治疗方法。 10个医生中有n个推荐兔子先生的爪哇大杯,这里的n是你想要给容易上当受骗的公众留下深刻印象的任何整数。这本书以对这本书的概述开始,然后迅速展开到书本身。看看涵盖的主题: Java 简而言之,MBBCOJ将教你在今天的兔子开发环境中获得成功的职业生涯所需要知道的一切。

光是对像素的洞察就足以缩短我的软件开发寿命。

其他回答

Pro Spring是对控制反转和依赖注入世界的一个极好的介绍。如果你不了解这些实践和它们的含义,那么Pro Spring中主题和技术细节的平衡是非常出色的。它建立了一个伟大的案例和随之而来的个人基础。

我建议的另一本书是Robert Martin的《敏捷软件开发》(ASD)。代码味道、敏捷技术、测试驱动开发、原则……许多不同编程方面的良好平衡。

更传统的经典著作包括臭名昭著的GoF设计模式,Bertrand Meyer的面向对象软件构建,Booch的面向对象分析与设计,Scott Meyer的“有效的c++”系列,以及Gunderloy写的一本不太出名的书,《编码员到开发人员》。

虽然书很好……别忘了收音机!

... 我再补充一点。如果你还没有发现过狩猎,那就来看看吧。它比堆栈溢出更让人上瘾:-)我发现,以我的谷歌类型的习惯——我需要更昂贵的订阅,这样我就可以在任何时候看任何一本书——但我会向任何有兴趣的人推荐这个试验。

(啊,是的,今天来点obj-C,明天来杯可可,花样?soa ?那本食谱里的例子是什么?史蒂夫在第二版里说了什么?我应该买这本书吗?... 如果你想要一些连续性和上下文,像这样的订阅是很好的…)

Brian W. Kernighan和P. J. Plauger的《软件工具》对我影响最大。

这让我开始了真正的OOA&D。

应用UML和模式:面向对象分析、设计和迭代开发简介——Craig Larman

这些也在上面:

企业应用程序体系结构中的模式 领域驱动设计——Eric Evans

问题是,“哪本书真正影响了您作为开发人员的工作方式?”毫无疑问,Jeff Prosise的《用MFC编程Windows》是对我作为开发人员的工作方式影响最大的一本书。它没有教会我“编程”的基础知识,但它为我和成千上万的其他开发人员打开了Windows平台开发的世界。

在MFC开发之前,我曾经用“Petzold风格”写过一些Windows代码。我很快就决定,作为开发者,我们不值得在Windows平台上费心。当Prosise出版了他的MFC书籍时,我意识到(以及其他成千上万的非windows程序员)我可以创建一个简单易用的界面,用户不仅可以理解,而且实际上喜欢使用。我如饥似渴地读着这本书,在里面做了很多笔记,翻了很多角,最后我买了第二本。

Prosise,杰夫。用MFC第二版编程Windows。 微软出版社1999 ISBN: 1-57231-695-0

Steve McConnell的《Code Complete》获得了很多人的支持,但是他的《软件项目生存指南》这本书呢?我认为它们都是必读的,但原因不同。