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

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

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

inquestion:this "Code Complete"

当前回答

对我来说,《设计模式解释》为我提供了一个关于设计模式的“哦,这就是它的工作原理”的时刻,并且在向其他人教授设计模式时非常有用。

其他回答

无论您是否使用Smalltalk编程,Smalltalk最佳实践模式都是一本很好的读物。充满了会改变你编码方式的小观察;变得更好。

虽然我同意上面的许多书都是必读的(实用程序员、神秘的人月、计算机编程艺术和SICP立刻映入我的脑海),但我想走一个稍微不同的方向,推荐Edsger Dijkstra的《编程规程》。尽管它已经有32年的历史了,但它对“可验证性设计”的强调仍然非常重要(即使“可验证性”意味着“证明”而不是“单元测试”)。

Sedgewick的“C中的算法”(第一版)教会了我所有关于算法的知识,也教会了我所有关于文档和复制/粘贴代码的陷阱,因为这个版本中的所有示例代码都来自“Pascal中的算法”版本,并且只是通过一个简单的代码翻译器传递,它没有针对不同的索引方案进行调整。

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

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

这并不是对这个问题的直接回答,因为我觉得上面已经回答过了,然而,有一本书对我的编码方式产生了明显的影响,那就是《代码阅读》第1卷:开源视角。

可选文字 http://g.bookpool.com/covers/405/0201799405_140_30O.gif