导航
  • 主页
  • 黑客故事
  • 身边的工匠
  • 设计艺术
  • 献计一刻

黑客Martin Fowler

苹果二 上海成趣信息科技有限公司 独立顾问  2021-07-17 08:35:48

我来为大家介绍我们中国程序员曾经见过的一位黑客Martin Fowler,《重构》(Refactoring)一书的作者、ThoughtWorks首席科学家。他有着“软件开发教父”的美誉,专注于面向对象分析与设计、统一建模语言、领域建模、以及敏捷软件开发方法,包括极限编程。他还普及了著名的控制反转(Inversion of Control)之一的“依赖注入模式(DependencyInjection)”一词。

Martin在上海敏捷专家论坛

2006年6月6日 Martin曾在上海交大参加了“上海敏捷专家论坛”,在他的演讲中,他谈到Ruby是一个非常好的开发工具,也现场演示了Ruby编程,最后还细数Ruby语言的优缺点。大家可以到Martin Fowler的关于软件开发想法片段的bliki网站(一种blog和wiki的交叉体)http://blog.csdn.net/mfowler去看看他的文章,虽然只有2006年的文章,仍然值得参考。在这个网站上,能看到2006年的上海敏捷专家论坛对话

http://www.cnblogs.com/wayne-ivan/archive/2006/10/11/525810.html

看看以下这些标题是否能吸引大家呢?

 

林德璋PK Martin:“RUP是楷书,XP是草书”对吗?

李锟PK Martin:“极限编程+交互设计”很牛吗?

《重构》

 

接下来我们来说说《重构》这本书。作为专业级的程序员,要阅读《重构》。重构是指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。Martin Fowler和另几位作者在书中清楚地展示了重构的过程,解释了重构的原理、良好的实践方式以及重构工具。书中列出了一份完整的重构名录(catalog of refactoring),对每一种重构方法,介绍了实施的时机和具体的实现步骤,也给出了经过验证的实际的代码例子。有些重构方法很简单,但是掌握这些方法可以让代码变得易读或者更简洁,从而改善设计。

书中的示例以Java为例,Java是一种面向对象的语言,而面向对象的机制对于重构有很大帮助。尽管关注对象是代码,重构对于系统设计也有巨大影响。顺便提一句,本书的译者侯捷和熊节十年前经常有软件编程的论著,可惜近年来少见了。这是题外话了。

下面来看一些基本的重构方法。

 

  • 构建测试体系
  • 重新组织函数
  • 在对象之间搬移特性
  • 重新组织数据
  • 简化条件表达式
  • 简化函数调用
  • 处理概括关系

这些方法大家可能自觉不自觉地用过。至于具体的例子,请大家认真阅读书籍并做相应的练习,我相信,当大家阅读完这本书以后,就能理解为什么Martin被称为软件开发教父了。

欢迎留言,交流代码写作相关问题。

...全文
42 点赞 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复

还没有回复,快来抢沙发~

发动态
发帖子

14

社区成员

软件设计和开发是手艺活,要经过多年的实践与打磨,才能练就一身本领;软件设计也是艺术活,面临取舍与权衡,要靠日积月累的经验和成长体会。社区讨论主题有1.黑客故事2.身边的工匠3.设计艺术 4.献技一刻
社区公告
暂无公告