如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
《极限编程:拥抱变化》作者:Kent Beck。虽然我不提倡在软件开发中采用硬核的xp或高速公路,但我希望在我的职业生涯中更早地向我介绍本书中的原则。单元测试、重构、简单性、持续集成、成本/时间/质量/范围——这些改变了我看待开发的方式。在敏捷出现之前,所有的一切都是关于调试器和对更改请求的恐惧。在敏捷开发之后,这些恶魔不再那么大了。
其他回答
编程Perl (O'Reilly)
Robert Sedgewick的算法书。应用程序开发人员的必读。
有多种版本(C, c++, Java)
http://www.cs.princeton.edu/~rs/
唐纳德·诺曼,《日常用品的设计》
不是关于编程本身,而是关于世界上的事物应该如何工作——这是一种可用性心理学。
在设计终端用户界面和api方面,这对我来说是无价的。
我最近读了《代码中的梦想》,觉得这本书很有趣。也许从我开始阅读钱德勒1.0的那一天起,情况就更加如此了。读到一个由有才能的人组成的项目团队试图“改变世界”的成长痛苦和错误,你会从中学到很多东西。此外,Scott还在书中介绍了许多程序员的知识和智慧,这是一本有趣的读物。
《美丽代码》中有一两件事让我有不同的想法,尤其是关于自顶向下操作符优先级的那一章。
代码完成是第一选择,但我也会引用Gang of Four的设计模式和Craig Larman的应用UML和模式。
克里斯托弗·亚历山大(Christopher Alexander)的《永恒的建筑方式》(The Timeless Way of Building)是另一个伟大的作品。尽管它是关于架构的,但它包含在我已经读过的许多优秀编程书籍的参考书目中。
另一本,我从中学到很多新东西,是克里夫顿·诺克的《数据访问模式》。