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

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

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

inquestion:this "Code Complete"

当前回答

K&R

@胡安:我了解胡安,我知道——但有些东西只有真正着手手头的任务才能学到。整天用抽象的概念说话只会让你变成一个学究。正是在抽象的运用中,我们才真正领悟到它们存在的原因。: P

提到Alan Cooper的《The are Running The Asylum》真是让人大开眼界,自从我读了那本书后,任何与我合作过的开发者都听我提到过它所支持的理念。+1

其他回答

这让我开始了真正的OOA&D。

应用UML和模式:面向对象分析、设计和迭代开发简介——Craig Larman

这些也在上面:

企业应用程序体系结构中的模式 领域驱动设计——Eric Evans

管理千兆字节是思考繁重的信息工作的经典。

《极限编程:拥抱变化》作者:Kent Beck。虽然我不提倡在软件开发中采用硬核的xp或高速公路,但我希望在我的职业生涯中更早地向我介绍本书中的原则。单元测试、重构、简单性、持续集成、成本/时间/质量/范围——这些改变了我看待开发的方式。在敏捷出现之前,所有的一切都是关于调试器和对更改请求的恐惧。在敏捷开发之后,这些恶魔不再那么大了。

可选文字 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

代码完成(第二版),作者:Steve McConnell 实用的程序员 计算机程序的结构与解释“, 由Kernighan和Ritchie编写的C编程语言 Cormen, Leiserson, Rivest & Stein的《算法导论》 四人组的设计模式 重构:改进现有代码的设计 神秘的人月 Donald Knuth的《计算机编程的艺术》 编译器:原则、技术和工具,作者:Alfred V. Aho, Ravi Sethi和Jeffrey D. Ullman Gödel,埃舍尔,道格拉斯·霍夫施塔特的巴赫 干净的代码:敏捷软件工艺手册,作者:Robert C. Martin 有效的C + + 更有效的c++ Charles Petzold的《CODE Jon Bentley的Programming Pearls 有效地使用遗留代码,作者:Michael C. Feathers 德马科和利斯特设计的Peopleware Peter Seibel的《Coders at Work》 费曼先生,你肯定是在开玩笑! Effective Java第二版 Martin Fowler的《企业应用程序体系结构模式》 小策划者 经验丰富的策划者 为什么是Ruby指南 囚犯在经营疯人院:为什么高科技产品让我们疯狂,以及如何恢复理智 Unix编程的艺术 测试驱动开发:通过Kent Beck的例子 敏捷开发人员的实践 别让我思考 敏捷软件开发,原则,模式和实践,作者:Robert C. Martin Eric Evans的领域驱动设计 唐纳德·诺曼的《日常事物的设计》 Andrei Alexandrescu的现代c++设计 最佳软件写作I作者:Joel Spolsky Kernighan和Pike的《编程实践》 实用主义思维和学习:重构你的湿件Andy Hunt著 Steve McConnel的《软件评估:揭开黑艺术的神秘面纱》 《激情程序员(我的工作去了印度)》作者:Chad Fowler 黑客:计算机革命的英雄 算法+数据结构=程序 编写可靠的代码 JavaScript -好的部分 37信号的真实生活 《编程基础》作者:Karl Seguin 计算机图形学:C语言原理与实践(第二版) 用Java思考,作者:Bruce Eckel 计算系统的要素 Joshua Kerievsky的《重构模式》 Andrew S. Tanenbaum的《现代操作系统》 注释图灵 唐纳德·诺曼著的《让我们聪明的东西》 克里斯托弗·亚历山大的永恒建筑方式 截止日期:汤姆·德马科的一本关于项目管理的小说 c++编程语言(第三版),作者Stroustrup 企业应用程序体系结构模式 计算机系统——程序员的视角 《c#中的敏捷原则、模式和实践》,作者:Robert C. Martin 成长中的面向对象软件,由测试引导 框架设计指南:Brad Abrams 大卫·韦斯特的《客体思维》 《UNIX环境下的高级编程》作者:W. Richard Stevens 黑客和画家:来自计算机时代的大想法 特蕾西·基德的《新机器的灵魂》 CLR via c# by Jeffrey Richter 克里斯托弗·亚历山大的永恒建筑方式 Steve Metsker编写的c#设计模式 路易斯·卡罗尔的《爱丽丝梦游仙境》 罗伯特·m·皮尔西格的《摩托车保养的禅与艺术》 关于脸-交互设计的要点 《每个人都来了:没有组织的组织的力量》,克莱·舍基著 编程之道 自然的计算之美 编写可靠的代码,作者:Steve Maguire 菲利普和亚历克斯的网络出版指南 Grady Booch的面向对象分析和应用设计 Joshua Bloch的《Effective Java》 可计算性,n.j.卡特兰 编程大师 道德经 高效的程序员 凯文·米特尼克的《欺骗的艺术》 《职业程序员:不完美世界的游击战术》作者:Christopher Duncan 人工智能编程范式:通用Lisp的案例研究 末日大师 Andy Hunt、Dave Thomas和Matt Hargett用NUnit编写的c#实用单元测试 《如何解决问题》作者:George Polya 保罗·科埃略的《炼金术士》 Smalltalk-80:语言及其实现 编写安全代码(第二版)作者:Michael Howard 由Philip Wadler和Richard Bird编写的函数式编程导论 没有错误!大卫·蒂伦著 Jason Freid和DHH的返工 JUnit在行动