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

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

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

inquestion:this "Code Complete"

当前回答

掌握正则表达式

其他回答

系统滑稽:系统如何工作,特别是它们如何失败。便宜地使用它。但是,在你参与过一些失败的项目之前,你可能不会体会到其中的幽默。

书之美在于版权年。

也许书中最深刻的“法则”是:

基本失效模式定理(F.F.T.):复杂系统通常以失效模式运行。

它的思想是,在任何给定的软件中都有失败的部分,这些部分被其他部分的失败或其他部分的验证所掩盖。看看现实世界中Therac-25辐射机的例子,它的软件缺陷被硬件故障保险掩盖了。当硬件故障保护被移除后,多年来一直未被检测到的软件竞争状态导致机器杀死了3个人。

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

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

这些也在上面:

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

K&R

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

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

务实程序员

我喜欢这两本书:

序言的艺术

普罗洛格的手艺

真正打开了逻辑编程和递归方案的思路。