infoq

亚历克斯·布莱维特(Alex Blewitt)
《极限编程入门》(Kent Beck)是XP的不错的入门,即使您不赞成“敏捷万能”的方法,也可以很好地阅读。 可能不是参考文献。

我的参考指南是《算法入门》 (Cormen / Leiserson / Rivest / Stein),这本书非常密集,但非常有价值。

约翰·史密斯(John Smith) 陷入困境的IT项目可能是您以前从未遇到过的项目,但实际上解释了在管理项目时可能出错的许多事情。 作为您当前正在研究的项目的记分卡,它也很有趣…

不过,我认为可能值得观察的是,这取决于您对哪种书类型(或应该被推荐)的经验水平。 肯特(Kent)的XP书适合新手和不熟悉敏捷的人使用,但科克本(Cockburn)的书可能更适合经验丰富的人。 同样,我不会对完整的新手进行算法介绍,但是,如果您想知道如何实现B树或理解算法的复杂性度量,则必不可少。

黛博拉·哈特曼
在敏捷软件开发的高度协作环境中,Jean Tabaka撰写的《 协作说明:软件项目负责人的便利技能》一书提供了解决棘手的管理问题(如冲突,人际沟通和时间限制)的答案。 如果您讨厌会议和/或认为会议应该有所改善,那么您必须阅读本书-无论您是否参与敏捷项目!

查尔斯·汉布尔
Harold Abelson,Gerald Jay Sussman和Julie Sussman编写的计算机程序的结构和解释 :几年前,当我与朋友聊天时,我被推荐为“ SIC-P”,因为我的编码能力似乎已经达到平台。 这不是一本特别容易的书,如果您正在寻找快速解决问题的方法,那么这不是您想要的书。 但是,这是有益的,密集的阅读,它可能对我的编码的影响要大于我所阅读的其他内容。

Erich Gamma,Richard Helm,Ralph Johnson和John Vlissides撰写的《 Design Patterns》是SIC-P的一本不错的后续书籍,尽管我承认我第一次阅读时并不喜欢它。 无可否认,尽管它在一处获得了丰富的面向对象设计专业知识,但我最初感到其中很多是有趣的理论,我永远不会真正使用。 随着时间的流逝,尽管我越来越喜欢这些想法,但是当我坚持进行一些设计工作时,我仍然会经常引用它。 强烈推荐。

马克·莱文森
敏捷软件开发: Alistair Cockburn撰写的合作游戏(第二版) 。 可能是我读过的关于敏捷软件开发的最有趣的书。 它与任何一种方法都不相关,而是Alistair分析游戏性,个人沟通,团队合作:所有软件开发的核心要素。 该书还包括有关软件外部敏捷性的部分,对各种方法的概述以及更多内容。

乔恩·卡岑巴赫(Jon Katzenbach)和道格拉斯·史密斯(Douglas Smith)所著的《团队的智慧》 -敏捷前的一本书,卡岑巴赫和史密斯研究了许多行业中的真正团队,对这些团队成功的成因提出了一些真实的分析和严格要求。 到本书结尾,您将发现“没有什么可以保证高绩效团队的建立。您可以做的最好的事情就是创造条件,以帮助他们形成。” 这本书是我的系列《 Scrum为什么起作用》的核心。

埃里克·埃文斯(Eric Evans)的领域驱动设计 :自从2004年发行以来,这本书一直对软件开发 区有很好的参考。它强调了使业务领域与软件设计和开发保持一致的重要性。 所讨论的一些概念,例如无处不在的语言,模型驱动的设计,有界的上下文和反腐败层,可以在任何中型到大型商业域中使用,以管理域模型的复杂性。 阅读本书之后,我开始在适用的项目中应用DDD原理,并且我成功地消除了贫乏的领域模型并以一种更加面向对象的方式处理业务逻辑。 本书中讨论的概念与技术和框架无关,因此可以将它们应用于基于Java,.NET或其他技术的任何软件开发项目中。 同样,这本书是我去年发表的“领域驱动的设计和开发实践” 文章的主要灵感。 对于参与创建或管理业务域的任何软件开发人员来说,这本书都是必读的。

沃纳·舒斯特(Werner Schuster)
务实的思维和学习:安迪·亨特(Andy Hunt) 重构您的垃圾软件将务实的程序员的观点带到了最终平台:我们头的灰质。 它包含许多使用Dreyfus学习模型来帮助改善学习,工作等的方法。

机器内部:乔恩·斯托克斯(Jon Stokes)的微处理器和计算机体系结构插图集,收集了Ars Technica关于CPU和其他技术的多年文章。 乔恩·斯托克斯(Jon Stokes,“汉尼拔”)破解了CPU的黑匣子,并指出了一些有趣的地方-他在现代CPU(例如最近的x86和Power CPU)中做到了。 知道指令融合如何帮助提高重排序缓冲区效率对于冷却器的讨论非常有用-但是了解内存层次结构和缓存行为如何影响现代CPU的性能可能只会帮助您优化自己。

也可以看看HOPL会议的会议记录 。 许多论文可以在线获得,也可以印刷形式获得。 似乎C式,命令式,花括 语言的单调世界可能被各种范式所加深。 随着这些事情的发展:未来的语言或想法已经存在了数十年。 HOPL论文是许多语言的详细历史,这些语言要么曾引起人们的关注,要么可能会来临,例如Smalltalk,Erlang,Lua,LISP或许多其他语言。

艾伦·凯(Alan Kay)关于“小话的早期历史”的论文提供了很多信息。 我每年都开始重新阅读它-不知何故我总是找到新的东西。 在上一读中,我意识到基于Actors模型的原始Smalltalk到底有多少。

HOPL的论文显然主要是关于历史的-但是我发现许多开发人员甚至都没有发生过的事件和以前开发的技术的基本知识(哦,1995年)。向“有经验的”开发人员展示40年的技术有点令人不安并看到他们难以置信地喘着粗气(这样做的好处是看起来像普罗米修斯,上面举着新奇的礼物,尽管很快就很无聊)。

瑞安·斯洛博扬(Ryan Slobojan)
有效的Java由约书亚·布洛克:有效的Java被广泛推崇为Java开发的圣经之一。 它不仅使读者理解语言,如许多其他书籍一样,而且了解如何最有效地利用Java语言和API创建快速,可靠,可扩展和可维护的软件。 许多原则也适用于其他编程语言,因为良好的软件设计的许多原则都是通用的。 我发现,在阅读本书之后,我以另一种眼光看待了我编写的代码-变得更易于阅读,总的代码行更少,并且稍后再阅读时更易于修复错误。 。 对于以Java语言进行开发的任何人,我认为这本书都是必读的书-它不仅告诉您其中的内容,而且还告诉您何时以及如何最有效地使用它。

斯蒂芬·蒂尔科夫(Stefan Tilkov)
我最近读过的最好的书之一是迈克尔·尼加德的《发行》! –充满了以谋生为生的人的实用建议。 这本书充满了战争故事,显示了大型系统发生故障的地方,迈克尔利用他丰富的经验提取了一些常见的反模式,这些问题在幼稚的设计中屡屡发生。 然后,他展示了如何使用适当的模式来解决它们。 我发现这本书非常有趣,仅涉及现实生活中的轶事,并且在您每次构建真正需要工作的系统时都提供了实用的建议。

翻译自: https://www.infoq.com/articles/recommended_reading_list/opicPageSponsorship=c1246725-b0a7-43a6-9ef9-68102c8d48e1

infoq

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34716 人正在系统学习中 相关资源:经典刻录软件尼禄Nero6.6.1.4中文安装版及序列 -其它工具类资源…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月8日
下一篇 2020年6月8日

相关推荐