在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:528671
用户头像

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

关注

评论

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

区块链BaaS平台+BI大数据系统

电微13828808271

区块链+

【死磕JVM】给同事讲了一遍GC后,他要去面试,年轻人,就是容易冲动!

牧小农

JVM 垃圾回收 垃圾收集 垃圾回收算法

制作颜色选择器(全)

空城机

JavaScript Vue 大前端 4月日更 颜色选择器

区块链BaaS平台,创造不一样的服务

电微13828808271

区块链+

“圈粉”行业龙头 数字人民币搅动投资江湖

CECBC

数字人民币

重点人员可视化管理平台搭建,公安指挥调度平台

Kafka的再平衡机制

五分钟学大数据

kafka 4月日更

机器学习 | 数据缩放与转换方法(1)

披头

雄安区块链实验室副主任李军:把区块链植入数字雄安

CECBC

区块链

深度分析区块链是如何改变世界的

CECBC

区块链

【译】JavaScript: 带你彻底搞懂 this

清秋

JavaScript 翻译 4月日更 this

Redis split-brain 脑裂

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

智慧公安重点人员管控系统搭建,助推公安智慧化发展

13828808769

区块链+ #区块链#

区块链赋能文化旅游,推动旅游行业转型升级

13828808769

区块链 #区块链#

区块链技术推动自然资源领域信息化发展

13828808769

区块链+ #区块链#

聪明人的训练(三)

Changing Lin

4月日更

Kafka又出问题了!

冰河

kafka 消息队列 消息中间件 异步编程

大数据计算生态之数据计算(一)

小舰

4月日更

用 Sublime Text 编辑 Markdown

U2647

sublime-text markdown 4月日更

基于角色访问控制RBAC权限模型的动态资源访问权限管理实现

crudapi

spring security 权限 rbac crudapi 角色

从小白程序员到大厂高级技术专家我看过哪些书籍?

冰河

程序员 程序人生 冰河 推荐书单

重构: 自己挖的坑自己填

夏兮。

Java 重构 测试 单元测试

Hive相关的总结

大数据技术指南

hive 4月日更

架构实战营-模块1-作业

泄矢的呼啦圈

架构实战营

WordPress统计文章浏览次数

Sakura

4月日更

当云计算飞向深空

脑极体

Python OpenCV 之图像乘除与像素的逻辑运算,图像处理取经之旅第 17 天

梦想橡皮擦

Python OpenCV 4月日更

打完新冠疫苗后要注意的两件事

石云升

28天写作 新冠疫苗 4月日更

架构训练营模块1作业-江哲

江哲

作业

配置化开发是否可行?

顿晓

重构 配置化开发 4月日更

智慧党建系统搭建,干部管理平台开发

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