`
DigitalSonic
  • 浏览: 210351 次
社区版块
存档分类
最新评论

《ThoughtWorks文集》读后感

阅读更多

9月在北京参加AgileChina2009时,正好赶上《软件开发沉思录——ThoughtWorks文集》正式出版,或者说是这本书为了这次大会提前上架了,会场上TW的Michael Robinson还在自己的主题演讲结束后小小介绍了一下这本书,不过我并没有在展台上仔细翻阅。说实话,对TW的这本书还是有些期待的。

 

前阵子收到了图灵寄来的样书,仔细读了一下,还没有全部读完,怎么说呢,总觉得离我的预期还差了这么点,也许是我的期望值过高吧。。。

 

全书由13篇不同人撰写的文章组成,相对比较独立,但其实前后顺序还是有些讲究的,例如第7章讲了什么是迭代经理,马上第8章作者就是一名迭代经理,来讲项目生命体征。下面挑几个章节来讲讲我的感受吧。

 

Martin Fowler的文章当然不能错过,写的很实在,完整地讲解了如何用Ruby来实现DSL,代码很详实,原来DSL是这么炼成的。文中提到了很多实现DSL的方式和技巧,让我这个不太精通Ruby的人对Ruby又有了一些新的认识。

 

第4章给人的感觉就是在介绍各种各样的语言——语言的盛景,现在的开发者有很多语言上的选择,但事实是这样吗?对于大多数一线开发者来说,能够选择的也就那几种主流语言,导致我们对其他语言的关注度并不高,听说过Haskell、Erlang的应该不少,可知道Scheme、Prolog的估计就不多了,毕竟也不太有机会能用上,但学学Ruby、Groovy、Scala、Erlang应该还是有好处的,至少挑一种来了解下吧。文中分几个不同的视角来介绍了语言的特性,做了些总结,也许是作者Rebecca J. Parsons不太喜欢.Net吧,全文读下来基本就没怎么提到.Net。

 

第5章多语言开发是我比较想读的部分,当然我本人非常支持这个观点,而且也在积极推行和实践,更重要的是之前这章已经被人批评 过了,我想仔细看看究竟是为什么。比较同意Jeffrey Zhao 在自己博客里的观点 ,主题是好的,是应该支持的,可是这例子举的实在是不怎么样,就说JRuby实现的isBlank吧,写Ruby时知道String有strip,难道写Java时就不知道String有trim吗?话又说回来,能动态地为类增加方法是个不错的功能,这也是动态语言的优点,的确该好好利用,我就算各打五十大板吧,也许这里换个例子会更好些。用JRuby来测试Java代码的范例中,我并没有感觉用Mocha和用JMock有太多的差别,反倒是在一个团队中,如果别人都不会Ruby,那作为团队的一员自己也不该使用JRuby进行测试,别人看不懂跑步起来啊。

 

第6章对象健身操,其中提出的几条规则之前我已经在gigix的博客中看到了,感觉应该当作推荐规则来看待,真的要落实到实际代码中,完全照做有不小的难度,而且还要根据不同的场景进行筛选,需要自己进行判断什么时候该用什么时候不该用。举例来说,拒绝使用else,文章给出的范例除了“提前返回”,其他还是在用else(三元运算符应该也算分支吧),依我看,为了实现代码,真的遇到需要else时,该用还得用;一行代码只有一个“.”运算符,那前面Martin Fowler提出的DSL的方法链怎么办,人家可是一排的“.”啊;不使用任何Getter/Setter/Property,IoC的Setter注入怎么办?统统换构造器注入?我要是不是JDK 1.5,也用不了基于注解的方式,那该怎么办?不过像不要使用缩写和保持实体对象简单清晰还是应该坚决落实的,这应该算是在任何场景下都适用的。

 

ThoughtWorks作为业内知名的咨询公司,我倒是比较期望看到有本书来介绍下TW的员工在客户现场是如何工作的,遇到问题如何解决的。就有点像DBA日记那样,一个个的故事和案例,虽然我不做DBA,可是看网站上连载的故事还是蛮有意思的,就算不懂那些深奥的知识,当小说看也不错,呵呵。如果以后能有这么一个文集,我一定会仔细阅读的。

分享到:
评论

相关推荐

    敏捷实验的揭秘ThoughtWorks文集2

    敏捷实验的揭秘ThoughtWorks文集2

    Thoughtworks文集2-敏捷开发的秘密

    Thoughtworks文集2-敏捷开发的秘密

    ThoughtWorks文集II——敏捷实践的秘密

    ThoughtWorks文集II——敏捷实践的秘密

    软件开发沉思录 ThoughtWorks文集

    包括公司创始人 roy singham在内的许多 thoughtworks员工参与到了这本文集的编写工作中,他们针对如何在软件开发生命周期中提高效率提出了多种可行性建议,内容涉及设计、架构、测试、领域特定语言的使用、构建和...

    thoughtworks测试的答案

    thoughtworks测试中的火车题中的答案,可以试一下看看对你有没有帮助的。欢迎下载测试。欢迎下载下载

    【迷你书】软件开发与创新:Thought Works文集(续集)

    在本文集中,ThoughtWorks的领域专家们分享自身所学,将他们在IT及软件开发领域中久经考验的最佳洞见结集成册。这些经验会让我们受益良多,从测试到信息可视化,从面向对象到函数式编程,从增量开发到在交付中持续...

    ThoughtWorks - 读书雷达1.0 (2013)

    软件业的特点是变化。若要提高软件开发的技能,就必须跟上技术发展的步伐。...阅读技术好书,如与智者交谈,“与君一席话胜读十年书”;遭遇技术烂书,如被拐卖,“少小离家老大回,乡音无改鬓毛衰”。

    c# ThoughtWorks.QRCode生成二维码

    c# ThoughtWorks.QRCode生成二维码 可以直接继承到自己项目中

    ThoughtWorks笔试代码

    ThoughtWorks笔试代码

    thoughtworks笔试作业

    thoughtworks公司的笔试作业,用C++完成,用到了单例模式,工厂模式。

    软件开发沉思录:ThoughtWorks文集

    包括公司创始人 Roy Singham在内的许多 ThoughtWorks员工参与到了这本文集的编写工作中,他们针对如何在软件开发生命周期中提高效率提出了多种可行性建议,内容涉及设计、架构、测试、领域特定语言的使用、构建和...

    软件开发沉思录——ThoughtWorks文集(英文)

    包括公司创始人 Roy Singham在内的许多 ThoughtWorks员工参与到了这本文集的编写工作中,他们针对如何在软件开发生命周期中提高效率提出了多种可行性建议,内容涉及设计、架构、测试、领域特定语言的使用、构建和...

    ThoughtWorks.QRCode.dll

    之前找过很多dll,很多用不了,还有的会报 thoughtworks.qrcode.dll 索引超出了数组界限 ,这个dll经本人亲测有效可用,各位可以放心下载使用

    ThoughtWorks现代企业架构框架白皮书_V4.pdf

    ThoughtWorks现代企业架构框架白皮书_V4.pdf

    ThoughtWorks - 读书雷达2.0 (2016)

    在2013年4月份,ThoughtWorks中国的员工张逸和刘龙军根据自己在ThoughtWorks的工作和学习经验,结合自己的阅读经历,以及参考诸多其他同事的建议,...而三年后的2016年,ThoughtWorks对这份读书雷达做了一次版本更新。

    ThoughtWorks - 读书雷达3.0 (2019)

    这是ThoughtWorks读书雷达的第三期,而距离上一期已经过去整整三年。这些书目来自于对知识和经验分享情有独钟的同事的提名。书目涉及的领域之广,已经超出编辑的能力,慌不择路之下,我们只好把一些图书,牵强置于并...

    thought works 技术雷达

    thought works 技术雷达,最新的技术动向

    软件开发与创新 ThoughtWorks文集 续集

    本书中涵盖的软件开发主题十分广泛,从优化敏捷方法论到核心语言极客都有涉及。其中包括对持续集成、测试和改进软件交付过程提出的独到建议,以及如何在面向对象语言和现代Javaweb应用程序中使用函数式编程技术等。

    ThoughtWorks.QRCode

    ThoughtWorks.QRCode.dll 二维码生成工具,可参考 http://download.csdn.net/download/w521661/10144570

Global site tag (gtag.js) - Google Analytics