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

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

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

inquestion:this "Code Complete"

当前回答

Martin Fowler的《重构:改进现有代码的设计》已经被列出。但我会详细说明它对我的影响。

整本书的本质是关于如何构造代码,以便人类更容易阅读和理解。它强烈地告诉我,我写的代码是为了让我的同事和后继者消费,并可能从中学到一些好的东西。它激励我有意识地以一种方式编程,让人们赞美我的名字,而不是诅咒我,直到永远。

其他回答

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

完美软件:关于测试的其他幻想

TITLE封面http://ecx.images-amazon.com/images/I/51j3BSRspAL._SL500_AA240_.jpg

《完美的软件:关于测试的其他幻想》作者:Gerald M. Weinberg

ISBN-10: 0932633692

ISBN-13: 978 - 0932633699

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

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

有效使用遗留代码是一本非常棒的书,它详细介绍了如何正确地进行单元测试,以及它的真正好处是什么。这真的让我大开眼界。

Ian Craig的《面向对象编程语言的解释》

因为它向我展示了OO比标准的c++ /Java习惯用法要多得多