如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
系统滑稽:系统如何工作,特别是它们如何失败。便宜地使用它。但是,在你参与过一些失败的项目之前,你可能不会体会到其中的幽默。
书之美在于版权年。
也许书中最深刻的“法则”是:
基本失效模式定理(F.F.T.):复杂系统通常以失效模式运行。
它的思想是,在任何给定的软件中都有失败的部分,这些部分被其他部分的失败或其他部分的验证所掩盖。看看现实世界中Therac-25辐射机的例子,它的软件缺陷被硬件故障保险掩盖了。当硬件故障保护被移除后,多年来一直未被检测到的软件竞争状态导致机器杀死了3个人。
其他回答
数据库系统概念是你在理解好的数据库设计原则方面可以阅读的最好的书籍之一。
Craig Larman的《应用UML和模式》。
这本书的书名有点误导人;它确实处理了UML和模式,但它涵盖了更多。这本书的副标题告诉你更多:面向对象分析和设计以及迭代开发简介。
Turbo c++中的面向对象编程。不是很受欢迎,但它让我开始学习,是第一本真正帮助我理解什么是物体的书。我在高中的时候读过这篇文章。这让我热泪盈眶……
我回答这个问题已经晚了,但显然我还有一些独特的东西可以提供……Barry Boehm写的《软件工程经济学》,总结一下,如果你想要真正提高软件的生产力,就需要更好的人,因为更好的工具、硬件、语言、方法等都会产生边际影响。只有优秀的人才能显著提高生产率。我强调,这是更好的工程师,而不是更多的工程师!
这本书不像《Coders At Work》那样能让你带着上床睡觉,而是能让你深刻体会到我们这个行业一直在努力牢记在心的教训。以离岸为例,这是一种虚假的经济,Boehm的模型预测,如果有的话,也只会产生边际的积极影响。来看看。
Martin Fowler的《重构:改进现有代码的设计》已经被列出。但我会详细说明它对我的影响。
整本书的本质是关于如何构造代码,以便人类更容易阅读和理解。它强烈地告诉我,我写的代码是为了让我的同事和后继者消费,并可能从中学到一些好的东西。它激励我有意识地以一种方式编程,让人们赞美我的名字,而不是诅咒我,直到永远。