10 月 23 - 25 日,QCon 上海站即将召开,9折优惠最后2天 了解详情
写点什么

31 天重构指南

  • 2009-09-06
  • 本文字数:591 字

    阅读完需:约 2 分钟

代码重构(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 网站上。如果您对这些重构方式感兴趣,可以下载代码并做进一步的尝试。

2009-09-06 11:528531
用户头像

发布了 157 篇内容, 共 61.0 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

app测试中常用的Android模拟器

霍格沃兹测试开发学社

扎根x86市场稳步前进-海光投研报告解读

三掌柜

研究报告

如何做好服务API的性能压力测试

唯美

性能 服务

从海光看国内芯片行业崛起:技术研发是增长关键

打工人!

芯片 芯片行业 海光

华为正式发布HarmonyOS NEXT开发者预览版,携手开发者共赴鸿蒙生态星辰大海

极客天地

华为负一屏全新体验,实时状态让服务快人一步

最新动态

观测,让运维更简单!龙蜥社区系统运维 MeetUp 等你报名

OpenAnolis小助手

操作系统 系统运维 ebpf Meetup 龙蜥社区

面部表情识别在安全领域的应用

数据堂

技术分享 | 白盒测试方法论

霍格沃兹测试开发学社

使用 RediSearch 在 Redis 中进行全文检索

AlwaysBeta

redis redisearch

appuploader不是开发者账号

技术分享 | web前端的HTML浅析

霍格沃兹测试开发学社

技术分享 | 黑盒测试方法论-判定表

霍格沃兹测试开发学社

私有化部署企业IM即时通讯:提升效率、防止泄密、高效协同办公

BeeWorks

海光财报解读:深耕研发,打造技术护城河

程序员海军

研究报告 海光

HDC.Together 华为开发者大会还有干货,开发者主题演讲明日举行

极客天地

城市与AI,正待济沧海

脑极体

AI 大模型

贝业新兄弟:企业级应用在供应链物流领域的实践

明道云

HDC2023|余承东:元服务将卡片式体验带给消费者,加速鸿蒙生态的繁荣

最新动态

盘点国产CPU“六君子”之中科海光发展史

石云升

cpu 微处理器 中科海光

局域网部署,用WorkPlus视频会议保密又安全

BeeWorks

AI +悦数图数据库:图技术与大语言模型 LLM 结合,打造下一代知识图谱应用

最新动态

31天重构指南_研发效能_赵劼_InfoQ精选文章