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

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

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

inquestion:this "Code Complete"

当前回答

Eric Evans的《领域驱动设计》是一本很棒的书!

其他回答

FA Turbak编写的《编程语言中的设计概念》提供了许多编程概念的详细实现,对于理解底层的工作原理非常有用。

我将补充一些我在这里没有看到但对我有影响的东西:

Yourdon和Constantine,“结构化设计”。你需要知道的关于软件设计的一切都在这里,如果你愿意挖一点。 Leonard Koren,“Wabi-Sabi:艺术家,设计师,诗人和哲学家”。平衡美与实用主义的实用主义哲学。

应用UML和设计模式。

它帮助我设计模式,并在“UML as Sketch”的措辞中为我提供了一个对UML有意义的理由。也就是说,UML应该被用作系统的一个简要草图,这样你就不必向别人解释符号(他们要么已经知道UML,要么你给他们一本UML的书来读)。

Turbo c++中的面向对象编程。不是很受欢迎,但它让我开始学习,是第一本真正帮助我理解什么是物体的书。我在高中的时候读过这篇文章。这让我热泪盈眶……

如果你在Unix/Linux/MacOS等环境下工作,你必须阅读已故W Richard Stevens的《Unix环境下的高级编程》(也被称为APUE)。如果你不知道文件描述符是如何工作的,或者什么是会话,或者当你守护自己的时候你应该做的所有事情(承认吧,你不知道),那么这本书会告诉你。

之后你会觉得有点不专业,但是如果你想在Unix环境下成为一个专业的程序员(任何语言),你需要阅读这篇文章。