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

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

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

inquestion:this "Code Complete"

当前回答

PHP对象、模式和实践。 http://www.apress.com/book/view/9781590599099

其他回答

另外,我想提到休·达文和CJ·戴特的《第三个宣言》。如果你对理解数据感兴趣(这在程序员中似乎并不常见),这本书是必读的。当您意识到SQL有多么糟糕时,它也会让您感到悲伤,但它也会帮助您应对这种破坏。了解工具是如何损坏的,可以让您在设计时牢记这些缺陷。

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

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

问题是,“哪本书真正影响了您作为开发人员的工作方式?”毫无疑问,Jeff Prosise的《用MFC编程Windows》是对我作为开发人员的工作方式影响最大的一本书。它没有教会我“编程”的基础知识,但它为我和成千上万的其他开发人员打开了Windows平台开发的世界。

在MFC开发之前,我曾经用“Petzold风格”写过一些Windows代码。我很快就决定,作为开发者,我们不值得在Windows平台上费心。当Prosise出版了他的MFC书籍时,我意识到(以及其他成千上万的非windows程序员)我可以创建一个简单易用的界面,用户不仅可以理解,而且实际上喜欢使用。我如饥似渴地读着这本书,在里面做了很多笔记,翻了很多角,最后我买了第二本。

Prosise,杰夫。用MFC第二版编程Windows。 微软出版社1999 ISBN: 1-57231-695-0

关于内存,每个程序员都应该知道的事

由Ulrich Drepper -解释了现代内存子系统的结构,并建议如何有效地利用它们。

PS:对不起,如果我重复发布。

优化软件开发生命周期的可靠代码

尽管这本书只有300页,而且倾向于微软的技术,但它仍然提供了一些很好的与语言无关的花边新闻。