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

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

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

inquestion:this "Code Complete"

当前回答

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

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

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

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

其他回答

Benjamin C Pierce所著的《类型和编程语言》,让您全面了解编程语言的基础。

Grady Booch的《面向对象分析和应用程序设计》。我很久以前读过这篇文章,它告诉我可以有一种开发面向对象软件的方法论。从那以后,许多其他的书对我产生了影响,但这本书让我开始了。

由于上面提到的许多原因,这是在“头部优先设计模式”和“Perl测试:一个开发人员的笔记本”之间摇摆不定,对于任何想要编写可维护代码的Perl程序员来说,它都应该是一本圣经。

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

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

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

福特的《高效程序员》

我还没有完全完成这一点,但我已经为我学到的一些技巧/技巧而兴奋不已,这些技巧/技巧让我变得更有效率。

当然,有很多东西我们都已经知道了(使用键盘快捷键,DRY等)。但也有很多新东西与之相配。细心的读者很快就会发现,这些东西是如何组合在一起产生更大的效果的。