QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

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

CH

架构实战营

为什么private方法加了@Transactional,事务也没有生效?

JavaEdge

12月日更

8.《重学 JAVA》-- 数组

杨鹏Geek

Java 25 周年 28天写作 12月日更

[架构实战营] 模块一作业:微信业务架构与学生管理系统

Geek_0ed632

「架构实战营」

活动预告|Feature Store Meetup

第四范式开发者社区

OpenMLDB Feature Store

面试吹牛B,入职就倒霉了

喵叔

28天写作 12月日更

盘点JavaScript运行机制:简单类型和复杂类型

你好bk

JavaScript 大前端 字符串 作用域 12月日更

架构实战营模块一作业

Poplar

「架构实战营」

作业

AUV

「架构实战营」

故事:“麻省理工已失控”,他的网站被黑了

喀拉峻

网络安全

架构实战营模块一作业

lchx08

「架构实战营」

Homework01

王欣欣

「架构实战营」

架构实战营-第4期-模块一作业

Evan

「架构实战营」

报表功能升级|宜搭新增的这4项图表组件太好用了吧

一只大光圈

钉钉 低代码 数字化 钉钉宜搭

你了解集合?那你倒是给我说说啊!【2】

XiaoLin_Java

12月日更

Keep Going

Nydia

钉钉宜搭招募爱心极客:用低代码传递爱与温暖

一只大光圈

钉钉 低代码 数字化 公益 钉钉宜搭

架构训练营 -4- 模块一作业

glenny

「架构实战营」

电商系统微服务架构

AHUI

「架构实战营」

39 K8S之Flannel网络插件

穿过生命散发芬芳

k8s 28天写作 12月日更

Helm 介绍

xcbeyond

Helm 28天写作 12月日更

在线SQL(Insert/Update)语句转JSON工具

入门小站

工具

数据大体系(一)——数据纵向分层

圣迪

sql 数据仓库 数仓 DW

架构实战营 第一周作业

姬凌伟

前端异常监控系统Sentry的基本使用

AR7

Vue sentry

微信业务架构图

DENG.S

[Pulsar] Consumer 确认消息原理

Zike Yang

Apache Pulsar 12月日更

威廉古堡:用宜搭个性化定制企业应用,提升5倍运营效率

一只大光圈

钉钉 低代码 数字化 钉钉宜搭

聊聊 Kafka:编译 Kafka 源码并搭建源码环境

老周聊架构

签约计划第二季

Gbase8a学习笔记-学习环境安装

南渡北归

数据库 gbase8a

Week01 Summerize

王欣欣

总结

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