如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
Martin Fowler的《重构:改进现有代码的设计》已经被列出。但我会详细说明它对我的影响。
整本书的本质是关于如何构造代码,以便人类更容易阅读和理解。它强烈地告诉我,我写的代码是为了让我的同事和后继者消费,并可能从中学到一些好的东西。它激励我有意识地以一种方式编程,让人们赞美我的名字,而不是诅咒我,直到永远。
其他回答
去年我上了很多课。我读
创新者的困境(颠覆性技术) 神秘的人月(管理软件) 跨越鸿沟(启动) 数据库管理系统,牛书 编程c#,鸵鸟书 开始iPhone开发,葡萄柚书
每本书都很棒,但是克莱顿·克里斯滕森的《创新者的困境》(1997!!)确实是一本很棒的书,它让我真正思考了现代软件世界。要解决的挑战是颠覆性技术,以及磁盘驱动器公司和非技术公司如何总是被新的、改变游戏规则的技术所颠覆。当人们想到谷歌,可能是最大的“网络”公司时,它给了人们一个新的视角。为什么他们什么都要插手?这是因为他们不希望自己的地位被新事物打乱。谷歌上的预告已经足够让人理解了。读它!
我将补充一些我在这里没有看到但对我有影响的东西:
Yourdon和Constantine,“结构化设计”。你需要知道的关于软件设计的一切都在这里,如果你愿意挖一点。 Leonard Koren,“Wabi-Sabi:艺术家,设计师,诗人和哲学家”。平衡美与实用主义的实用主义哲学。
Turbo c++中的面向对象编程。不是很受欢迎,但它让我开始学习,是第一本真正帮助我理解什么是物体的书。我在高中的时候读过这篇文章。这让我热泪盈眶……
如何解决:数学方法的一个新方面 虽然与计算机编程没有直接关系,但它确实教你解决问题的艺术,这就是计算机编程的全部内容。
似乎没有人提到Stroustup的《c++程序设计语言》,这是每一个c++程序员都应该读的一本好书。
我还认为每个程序员和经理都应该阅读《极限编程解释:拥抱变化》这本书。书中的许多思想现在都是常识,但这本书对软件工程中追求质量给出了一个聪明而鼓舞人心的描述。
其次,我要推荐Knuth和Gang of Four,它们都是经典之作。