BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

31天重构指南

| 作者 赵劼 关注 5 他的粉丝 发布于 2009年9月7日. 估计阅读时间: 1 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

代码重构(refactoring)是指在保持程序外部表现不变的情况下改变其内部实现的做法。重构的目标主要是改进程序的内部质量,例如增加代码可读性,简化代码结构,增强可维护性、性能或扩展性。即使初期设计得再合理,但由于软件发展本身不可能是完美的,因此重构作为改进代码质量的手段,会持续运用在在软件开发过程中。

重构领域最著名的资源莫过于Martin Fowler所著的《重构:改善既有代码的设计》,此外,Martin还维护了一个重构资源站点,用于随时补充重构有关的信息资料。

八月份,Sean Chambers在博客中编写了一系列描述重构方式的文章。Sean指出,这些重构方式主要来源于Martin的重构资源站点、代码大全(第二版)以及平时由他自己收集的互联网资源,他的目的是为各种重构方式提供了一些额外的描述及相关的讨论。

以下是这31篇文章列表:

  1. 封装集合
  2. 移动方法
  3. 提升(pull up)方法
  4. 降低(push down)方法
  5. 提升字段
  6. 降低字段
  7. 改名(方法,类,参数)
  8. 使用委派代替继承
  9. 提取接口
  10. 提取方法
  11. 使用策略类
  12. 分解依赖
  13. 提取方法对象
  14. 分离职责
  15. 移除重复内容
  16. 封装条件
  17. 提取父类
  18. 使用条件判断代替异常
  19. 提取工厂类
  20. 提取子类
  21. 合并继承
  22. 分解方法
  23. 引入参数对象
  24. 分解复杂判断
  25. 引入契约式设计
  26. 避免双重否定
  27. 去除上帝类
  28. 为布尔方法命名
  29. 去除中间人对象
  30. 尽快返回
  31. 使用多态代替条件判断

Sean表示,他打算将这些重构内容制成电子书发布在LosTechies网站上。如果您对这些重构方式感兴趣,可以下载代码并做进一步的尝试。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

8,使用继承替换委派 的 翻译错误 by 商 策

使用继承替换委派 原文是 Replace Inheritance with Delegation , 这个翻译是错误的,正相反。

Re: 8,使用继承替换委派 的 翻译错误 by Zhang Gavin

呵呵,不错,翻译有误

Re: 8,使用继承替换委派 的 翻译错误 by 富足 李

楼上两位,你们错了!原译者是对的!

Re: 8,使用继承替换委派 的 翻译错误 by Zhang Gavin

后来改的吧

Re: 8,使用继承替换委派 的 翻译错误 by Jeffrey Zhao

没错,是后来改的。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

5 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT