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

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

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

inquestion:this "Code Complete"

当前回答

布雷迪布赫的面向对象分析与设计的应用

其他回答

安德烈·亚历山大的现代C++设计

这里有两个我没有看到提到的: 我希望我能更早地阅读Koenig和Moo的《c++反思》。正是这本书让我对OO概念产生了真正的兴趣。 我推荐Michael Abrash的《代码优化禅宗》(Zen of Code Optimization)给那些打算在90年代中期开始编程生涯的人。

除了它们在我书架上的排列顺序外,没有特别的顺序:

实用的程序员 福勒的rafacoring 有效地使用Feathers的遗留代码。这实际上是重构的一个伙伴卷。 Fowler提炼的UML。它的其他优点之一是简洁。 Steve Maguire编写的调试开发过程 设计模式(又名“四人组”)由Gamma等人

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

书之美在于版权年。

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

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

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