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

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

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

inquestion:this "Code Complete"

当前回答

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

书之美在于版权年。

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

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

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

其他回答

Steve Macguire的《编写可靠代码》

编程Perl (O'Reilly)

Steve Maguire的《调试开发过程:保持专注、完成发行日期和组建稳固团队的实用策略》。

不废话,接地气,有趣,深刻。

我有几篇(相当老的)关于这个主题的博客文章

http://www.spindriftpages.net/blog/dave/2005/11/17/c-books/ http://www.spindriftpages.net/blog/dave/2005/06/06/good-oo-books/ http://www.spindriftpages.net/blog/dave/2005/05/11/really-great-it-books/ 虽然是一本好书,我找到了代码 读起来相当乏味(a 我承认这是有争议的观点)。 我喜欢 杰弗瑞·里克特和书乔尔 斯波斯基写道 Eric Meyer的CSS书籍也很不错

我已经有一段时间了,所以我发现的大多数有影响力的书在今天并不一定适用。我相信理解你所开发的平台(包括硬件和操作系统)是非常重要的。我也认为从别人的错误中学习很重要。所以我想推荐两本书:

计算灾难和寻找愚蠢:二十多年的高科技营销灾难