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

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

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

inquestion:this "Code Complete"

当前回答

大概是1997年左右的《傻瓜C》第一卷。这只是一篇介绍,但当你在Atari st上的《GFA Basic》中尝到编程的味道后,这是一篇很好的阅读。

其他回答

Steve Maguire的《调试开发过程:保持专注、完成发行日期和组建稳固团队的实用策略》。

不废话,接地气,有趣,深刻。

正如很多人列出了头部优先设计模式,我认为这是一本非常好的书,我想看看是否有很多人知道一本名为《设计模式解释:面向对象设计的新视角》的书。

本书出色地论述了设计模式。本书的前半部分非常容易理解,其余章节只需要对已经涵盖的内容有一个坚定的把握。我觉得本书的后半部分不太容易理解的原因是,它涵盖了我作为一个缺乏经验的年轻开发人员所没有使用过的模式。

本标题还介绍了设计模式背后的概念,涵盖了Christopher Alexander在架构方面的最初工作,以及GoF在SmallTalk中首次实现文档模式。

我认为任何喜欢头部优先设计模式,但仍然觉得GoF非常枯燥的人,都应该看看《设计模式解释》,它是一个可读性更强的选择(尽管没有那么全面)。

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

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

弗雷德·布鲁克斯的《神秘的人月》 http://en.wikipedia.org/wiki/The_Mythical_Man-Month

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

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

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

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

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

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