代码的坏味道

本文介绍了《重构 改善既有代码的设计》中提到的22种代码坏味道,包括重复代码、过长函数、过大的类等,并提供了相应的重构策略,如Extract Method、Replace Temp with Query等,旨在提升代码质量。
摘要由CSDN通过智能技术生成

“代码的坏味道”是来自Martin Flowler所著《重构 改善既有代码的设计》第三章的title,据作者说这一章来自Kent Beck。我觉得本章是应用重构的重点,因为它告诉我们在看到什么样的代码时就应该思考重构了,下面我就把22种坏味道以我的理解整理了一下。

  1. 重复代码(Duplicated Code):分为三种情况,一个类中含有相同的表达式,Extract Method(110),两个互为兄弟的子类中含有相同表达式,相同代码用Extract Method(110)和Pull Up Method(332),相似代码用Extract Method(110)将相似部分和差异部分分隔开,再使用From Template Method(345),选择使用Substitute Algorithm(139),两个毫不相关的类有相同表达式使用Extract Class(149)。

  2. 过长函数(Long Method):找到函数中适合集中在一起的部分,将它们提炼出来形成一个新函数,Extract Method(110),条件表达式和循环常常也是提炼的信号,Decompose Conditional(238)。如果提出的函数中有太多参数和临时变量,可以使用Replace Temp with Query(120)、Introduce Parameter Object(295)、Preserve Whole Object(288)、Replace Method with Method Object(135)。

  3. 过大的类(Large Class):这个没什么好说的,把一些彼此相关的成员变量和行为提出到新的类。Eetract Class(149)、Extract Subclass(330)、Extract Interface(341)。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值