书评 – 程序员经典读物(2)

原文链接: http://www.cnblogs.com/jamesleng/archive/2011/11/12/2246394.html

21 Craig Larman - Applying UML and Patterns (3rd Edition)
  感言: RUP/UML如日中天那阵子,备受名家推崇的OOAD经典之一。UP/UML/Design Pattern溶于一体,贴近实战,所用的例子也均是常规企业应用。文笔平平无奇,特点是细节上无微不至,将OOAD如何落地交代得清清楚楚。作者是敏捷开发重量级人物,近几年兴趣已经由UP转向Scrum了。我猜测,现在Craig鼓吹Scrum的时候,不太可能宣称UP的那些知识是多余的吧。无论具体项目如何敏捷,总有孙悟空跳不出如来手掌的味道。换句话来说,高手可以敏捷,高手带着也可以敏捷,其它场景就只能是碰碰运气了。而不懂点UP,能算高手吗?多少有点让人不太放心吧!

22 Alistair Cockburn - Agile Software Development: The Cooperative Game (2nd Edition)
  感言:印象中,自从嬴政那厮称始皇帝后,“仰望星空的人”就好像慢慢地都投胎西方去了。我猜测,参加Jolt Awards评选的那些人对“仰望星空的人”是特别关爱的,所以这本著作第一和第二版均获得了Jolt Awards。 如果是文科出身的,或是有哲学家思辨气质的,自然是强烈推荐读一读,否则,建议不要浪费时间,还不如去看看作者另一本关于Use Case的书(这个清单里面第12本)。

23 Gary McGraw - Software Security: Building Security In
  感言:看来大家都觉得软件行业安全问题很头疼,所以这样的著作也能成为经典了。作者弄了一个如何治理安全问题的框架。读了一部分就放弃了。我觉得安全问题本质上终究是个技术问题,OS/编程语言/开发库层面上下多点功夫,应用开发层面上还是轻松多了。总的说来,因为喜欢“裸奔”的缘故,耍C/C++的无疑是重灾区了。想想那些没完没了的补丁,真是罪过啊……

24 Gregor Hohpe, Bobby Woolf -  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  感言:未读过。

25 Tom DeMarco - The Deadline: A Novel About Project Management
  感言:算得上是文学作品了,老美很擅长这类创作,不过主题是软件开发的还是太少了点。其实10余年来,那些反反复复讨论过的问题,究竟在多大范围和程度上有所改善呢,特别是在咱们拆那国? Too sad to be true……。所以,有闲时,不妨读一读,穿越到10年前,感受一下,有区别吗?。另外,前二年,有一本《Dream in Coding》,个人感觉更棒。

26 Craig Larman - Agile and Iterative Development: A Manager's Guide
  感言:作者和前面第21本是同一个人。作者收集了很多史料,虽然不是讲技术的,文笔风格仍然和第21本一脉相承,严谨细致。我一直有点奇怪,为何作者近年来转向鼓吹Scrum?Scrum天马行空的味道十足,从作者的著作来看,却完全是相反的风格。作研究生论文时,有认真读过这本书。其中,关于美国国防部在Waterfall模型上的纠结史,作者进行了深度挖掘,至今记忆犹新。如果对软件开发思想史感兴趣,强烈推荐,相信不会失望。

扫描二维码关注公众号,回复: 6767405 查看本文章

27 Eric A. Marks, Michael Bell - Service-Oriented Architecture: A Planning and Implementation Guide for Business and Technology
  感言:未读过。

28 Thomas H. Cormen, etc. - Introduction to Algorithms, Second Edition
  感言:和第16本一样,被媒体反复炒过。尝试读过,实在读不下去,因为我的数学太糟糕了。

29 Thomas Erl - Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services
  感言:号称SOA领域的经典。尝试读过,实在读不下去,作者没完没了的折腾一些概念,实在令人头晕。明明一行代码都没有,居然标题上也号称“Field Guide”。如果是搞.NET的,推荐作者和另外几个人合著的《SOA With .NET and Windows AZure》,2010版的,内容较新,一大堆SOA相关的概念自然是少不了的,好在终于有如何落地的内容了。

30 Martin Fowler - UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)
  感言:和前面一样,Martin Fowler的书,必读的。如果觉得UML很神秘或摸不着门的,就这本了。篇幅不长,头二章是精华所在。

31 Kent Beck - Extreme Programming Explained: Embrace Change (2nd Edition)
  感言:传统软件工程的搞法就是效仿建筑工程/电子工程等领域+PMBOK的套路,在受过传统管理学训练的人看来这种套路自然是理所当然的了。当丰田在制造业掀起一股革命的时候,传统软件工程的异见人士也迅速从中找到了灵感,这本书的作者就是代表之一。作为敏捷开发先驱,XP之父,作者毫不隐瞒自己的思想是受到丰田制造的启发。XP的精髓,如TDD/Sit Together/Pair Programming/Incremental Design/Continuous Integration,和丰田制造的精髓,如JIT/Pull/零库存/反传统流水线的自主小团队,二者对照一下,不难看出二者思想上的高度一致性。事实上,由丰田制造思想发展而来的敏捷制造和精益生产这二个制造业的词,也被借用到了软件开发领域,也就是众所周知的“敏捷软件开发”和“精益软件开发”。从这一点来看,软件开发领域的确显得太年轻了!XP诞生以来,一直饱受争议,对于满脑子传统管理观念的人而言,XP的搞法是完全无法接受的。我个人是忠实的XP粉丝,从我读了这本书的那一天开始。印象中,GOF之一Erich Gamma作的序。总体来说,文笔一流,说理透彻,对敏捷开发有兴趣的,值得一读。另外,作者有提到自己和Martin Fowler参与过的一个大项目,用SmallTalk整的,也是典型的企业应用。

32 Alan Shalloway, James Trott - Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)
  感言:和第2本一样属于阐释Design Pattern一类的。围绕专家系统和CAD/CAM领域的实战问题,涉及了10个模式的运用,Why/Why Not?方面的说理很精彩。使用了Java和C++。如果不太介意实战例子的背景,绝对值得一读。初级向高级突破时比较给力。

33 Grady Booch, etc. - Object-Oriented Analysis and Design with Applications (3rd Edition)
  感言:作为OOAD领域的先驱之一,UML三剑客之首,RUP的主要贡献者之一,我猜测Grady Booch是很有希望获得Turing Award的,虽然主要工作和OO领域有关的获奖者已经有4个了。而这本书,我个人觉得平平无奇,可能是多达6个人合著的原因。也不太合适初学者。

34 Jim Highsmith - Agile Project Management: Creating Innovative Products
  感言:作者也是敏捷开发先驱之一。未读过。

35 Scott Berkun - Making Things Happen: Mastering Project Management
  感言:如果期望寻找一些关于软件项目管理领域有突破性和原创性的思想,请不要在这本著作上浪费时间,这本著作所涉及的那些项目管理方面的大道理和小技巧均平平无奇。但是,那些老兵们的实战心得总是令人好奇的,无论你是新兵还是老兵还是看热闹的。这本书的作者就是一位杰出的“老兵”,有参与过MS IE/MSN/Windows开发,后从事公司内部项目咨询和顾问,后独立咨询。文笔很好,处处感受到只有百战沙场久经风浪的那种老兵才有的从容和睿智。

这个清单共包含100本,很多都没读过,就不一一罗列了,下面简单列一下感觉特别精彩的几本。
45 Joshua Kerievsky - Refactoring to Patterns


51 Randall Hyde - Write Great Code: Volume 1: Understanding the Machine


52 Scott Rosenberg - Dreaming in Code 


54 Andy Oram, Greg Wilson - Beautiful Code: Leading Programmers Explain How They Think


66 Brett D. McLaughlin, etc. - Head First Object-Oriented Analysis and Design 


83 Martin Fowler - Analysis Patterns: Reusable Object Models 


89 Eric Evans - Domain-Driven Design: Tackling Complexity in the Heart of Software 

意犹未尽的,可以去这里瞅瞅http://knol.google.com/k/top-100-best-software-engineering-books-ever#。

转载于:https://www.cnblogs.com/jamesleng/archive/2011/11/12/2246394.html

猜你喜欢

转载自blog.csdn.net/weixin_30429201/article/details/94786461