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

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

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

inquestion:this "Code Complete"

当前回答

代码就是法律——你用自己选择的语言写作、编辑和思考,但为什么呢?你的代码是什么意思?它到底能做什么?

(我本可以推荐一本关于QA的书,但我没有……)

其他回答

一本书的影响力通常取决于读者,以及他们读这本书时处于职业生涯的哪个阶段。我必须为Head First设计模式欢呼。伟大的书和非常有创意的写作方式应该被用作其他技术书籍作者的例子。也就是说,它是为了促进学习和内化概念而编写的。

头部优先设计模式http://ecx.images-amazon.com/images/I/51LSqrgoT1L._SS500_.jpg

对我影响最大的编程书籍是Allen Holub的《Enough Rope to Shoot Yourself in The Foot》。

书的封面http://ecx.images-amazon.com/images/I/71AE90J735L._SL500_AA240_.gif

哦,那是多久以前的事了。

好吧,所以问题不是“最好的编程书是什么”,而是“如果你能告诉自己在职业生涯的开始应该读什么”……

可能是“On Lisp”和SICP,再加上一个CLRS或Udi Manber的“算法:一种创造性的方法”。

算法介绍由Udi Manber http://vig-fp.prenhall.com/bigcovers/0201120372.jpg

前两个课程将教授许多编程技术、模式,并真正打开一个人的思维,发挥他/她自己的创造力;另外两个是不同的。它们更理论化,但也非常重要,专注于设计正确有效的算法(需要大量的数学知识)。

当“优秀编程书籍”的主题出现时,我看到很多人推荐前三本书,但最后一本(Manber写的)是一本很棒的书,但很少有人知道它。真可惜!Manber专注于算法的增量发展,通过使用归纳法进行定理证明。

在Windows下进行图形编程很难出错。

明确的软件工艺

可选文字 http://ecx.images-amazon.com/images/I/5186JKTDVWL._SL500_AA240_.jpg

这本书解释了很多关于软件工程、系统开发的东西。理解不同类型的产品开发之间的差异也非常有用:web VS收缩包装VS IBM框架。当人们构思瀑布模型时,他们的想法是什么?读了这篇文章,我们就会明白(希望如此)