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

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

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

inquestion:this "Code Complete"

当前回答

Mac OS X Cocoa Programming by Aaron Hillegass

其他回答

似乎没有人提到Stroustup的《c++程序设计语言》,这是每一个c++程序员都应该读的一本好书。

我还认为每个程序员和经理都应该阅读《极限编程解释:拥抱变化》这本书。书中的许多思想现在都是常识,但这本书对软件工程中追求质量给出了一个聪明而鼓舞人心的描述。

其次,我要推荐Knuth和Gang of Four,它们都是经典之作。

安德烈·亚历山大的现代C++设计

几年前,Bruce Eckel的《Thinking in c++》教会了我很多关于c++的知识,也教会了我把一个问题隔离到一个小“沙盒”中进行研究/分析的重要性。这个技巧极大地影响了我的职业生涯,经常帮助我解决自己和他人的问题。

最近,我参考了以Java方式编写的Thinking in Java。不知何故,这种风格不仅仅是简单的“例子”,而是深刻地抓住了问题的核心。

我是如此感激,以至于我几乎会买Eckel的任何东西,看都不看。

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

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

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

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

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

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

我喜欢这两本书:

序言的艺术

普罗洛格的手艺

真正打开了逻辑编程和递归方案的思路。