如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
Robert L. Glass的《软件工程的事实与谬误》http://www.codinghorror.com/blog/images/facts-and-fallacies-of-software-engineering.jpg
Robert L. Glass的《软件工程的事实与谬误》是一本非常优秀的书。在我读这本书之前,我已经做了将近10年的专业黑客,但我仍然学到了很多东西。
其他回答
我个人最喜欢的书之一是《黑客的喜悦》,因为它读起来既有趣又有教育意义。
我希望第二版能尽快发布!
我已经有一段时间了,所以我发现的大多数有影响力的书在今天并不一定适用。我相信理解你所开发的平台(包括硬件和操作系统)是非常重要的。我也认为从别人的错误中学习很重要。所以我想推荐两本书:
计算灾难和寻找愚蠢:二十多年的高科技营销灾难
我有几本对我有强烈影响的好书,但到目前为止我还没有在这个清单上看到:
唐纳德·诺曼的《日常事物心理学》。为他人设计的一般原则。这似乎对UI很有好处,但如果你仔细想想,它几乎在任何地方都有应用程序,只要有一个界面,除了原始开发人员之外的人就必须与之打交道;例如,一个API,并以这样一种方式设计接口,使其他开发人员形成正确的心智模型,并从API本身获得适当的反馈。
《软件测试的艺术》作者:Glen Myers。对测试软件的良好的、一般的介绍;对于程序员来说,阅读有助于他们像测试人员一样思考,即思考可能出现的错误并为此做好准备。
顺便说一句,我知道这个问题是“最具影响力的一本书”,但讨论似乎已经变成了列出供开发人员阅读的好书,所以我希望我列出两本好书而不是一本能得到谅解。
我认为代码完整将是这个问题中非常受欢迎的一个,对我来说,它纠正了我的许多坏习惯,并重新肯定了我的好实践。
对于我的Perl背景,我非常喜欢Damian Conway的Perl最佳实践。如果不使用风格和最佳实践,Perl可能是一种令人讨厌的语言,这就是我在阅读(有时编写)的脚本中看到的情况。
我喜欢Head First系列,它们非常好,当你没有心情阅读更严肃的书籍时,它们很容易阅读。
实用主义程序员:毫无疑问,从熟练工到大师。书中的建议很好地表达了出来,而且很简单,给人的感觉就像是《常识程序员》。爱死它了。