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

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

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

inquestion:this "Code Complete"

当前回答

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

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

其他回答

重构

企业应用程序体系结构模式

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

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

Donald Knuth写的《Literate Programming》,这是一本关于代码结构的好书。

学习c# 2005,由Jesse Liberty和Brian MacDonald (O'Reilly)编写。

Isbn 10: 0-596-10209-7。

当我第一次在VS2005中从ASP经典的过程代码跳到面向对象的c#代码时,这本书让我走上了正确的道路。