写点什么

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

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

关注

评论

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

开源一夏 | 计算机网络:物理层

是Dream呀

开源

麦聪DaaS平台 3.7.0 Release 正式发布:全面支持国际化

雨果

DaaS数据即服务

搭建属于自己的知识库(Wikijs)

开源 wiki 知识库 8月月更

魔豹联盟:佛萨奇2.0dapp系统开发模式详情

开发微hkkf5566

开源一夏 |【云原生】DevOps(五):集成Harbor

是Dream呀

面试官:可以谈谈乐观锁和悲观锁吗

JAVA活菩萨

面试官

KunlunBase 1.0 发布了!

KunlunBase昆仑数据库

国产数据库

天翼云4.0分布式云赋能千行百业数字化转型

天翼云开发者社区

云存储 云上架构

Spring Boot整合Mybatis

JAVA活菩萨

Java 程序员 后端

【CSS】基础选择器,包括标签选择器、类选择器、id选择器和通配符选择器...

翼同学

CSS html 前端 HTML5, CSS3 8月月更

DevOps之代码检查

凌云Cloud

DevOps 研发管理 代码检查器

Mqtt开发笔记:windows下C++ ActiveMQ客户端介绍、编译和使用

JAVA活菩萨

Java 程序员 后端

竞赛:糖尿病遗传风险检测挑战赛(科大讯飞)

Lingxw

数据挖掘 Kaggle 8月月更

线程池原理与实践|从入门到放弃,深度解析

领创集团Advance Intelligence Group

线程池 内存溢出 线程池工作原理

开源一夏 | 数据结构课设:图书信息管理--顺序存储和链式存储

是Dream呀

开源

深入理解IO流(第一篇)

JAVA活菩萨

Java 程序员

从技术全景到场景实战,透析「窄带高清」的演进突破

阿里云CloudImagine

云计算 直播 视频

连续三次 | 灵雀云入选Gartner中国ICT技术成熟度曲线报告

York

云计算 云原生 数字化转型 ICT Gartner

读书笔记之《你想过怎样的一生?》

宇宙之一粟

读书笔记 8月月更

我用这一招让团队的开发效率提升了 100%!

Liam

程序员 前端 后端 开发 API

玩转云端 | 天翼云对象存储ZOS高可用的关键技术揭秘

天翼云开发者社区

云平台 云存储

发挥云网融合优势,天翼云为政企铺设数字化转型跑道

天翼云开发者社区

数字化转型 数字化基础 云网融合

开源一夏 | Web开发(七):登录实现及功能测试

是Dream呀

一朵“云“如何带来产业新变革

天翼云开发者社区

云网融合

天翼云4.0来了!千城万池,无所不至!

天翼云开发者社区

云计算 云平台

企业云成本管控,你真的做对了吗?

Kyligence

云成本管控 云成本分析

MyBatis操作数据库

JAVA活菩萨

Java 程序员 后端

Linux Lab 编译 riscv-gnu-toolchain

贾献华

8月月更

百问百答第49期:极客有约——国内可观测领域SaaS产品的发展前景

博睿数据

可观测性 智能运维 博睿数据 极客有约 中信证券

千万级QPS下服务如何才能平滑启动

HelloGeek

微服务架构 Service Mesh 高并发优化

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