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

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

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

inquestion:this "Code Complete"

当前回答

可选文字 http://ecx.images-amazon.com/images/I/51fhwR6eb3L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg

可选文字 http://ecx.images-amazon.com/images/I/51PDNR3C40L._SL500_AA300_.jpg

其他回答

代码完成是第一选择,但我也会引用Gang of Four的设计模式和Craig Larman的应用UML和模式。

克里斯托弗·亚历山大(Christopher Alexander)的《永恒的建筑方式》(The Timeless Way of Building)是另一个伟大的作品。尽管它是关于架构的,但它包含在我已经读过的许多优秀编程书籍的参考书目中。

另一本,我从中学到很多新东西,是克里夫顿·诺克的《数据访问模式》。

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

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

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

因为我是一个c#程序员,而且大多数通用的书籍都已经被提到过了,所以我想推荐Bill Wagner的书《更有效的c#》。

我认为大多数开发复合wpf应用程序的人也应该看看微软的复合应用程序指南(也称为Prism):

复合应用指南

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

编程Perl (O'Reilly)