软件开发 —— 重构(refactor)

本文介绍了代码重构的基本概念,包括为什么要重构代码以及重构的目标。重构不仅是为了让代码能够运行,更是为了使其更好地适应变化,并提高可读性。文中还提供了一个具体的重构示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 代码坏味道

  • Large Class,过大的类;Large method,过长的(成员)函数;

1. 基本内涵

在不改变代码外在行为的前提下对代码做出修改,以改进代码的内部结构的过程。 —— 《重构》(Martin Fowler)

只是为什么要修改已经能够工作的内部结构呢?代码模块的能够工作不是唯一要求。每一个软件模块都具有三种职责。

  • 第一个职责是能运行起来所完成的功能,这也当然是模块得以存在的原因;
    • 完成功能;
  • 第二个职责是应对变化,几乎所有的模块在它们的生命周期中都要变化,开发者有责任保证这种改变应尽可能的简单。
    • 适应变化;
  • 第三个职责在于,和阅读它的人进行沟通。对该模块不熟悉的开发人员应该能够比较容易地阅读并理解它。
    • 可读性;

2. 重构基本手段

  • Replace temp with Query,通过查询的方式替换临时变量:

    while (Rental aRental: rentals) {
        double tmp = 0;
        ...
        tmp = aRental.getCharge();
        total += tmp;
    }

    便可替换为:

    while (Rental aRental: rentals) {
        ...
        total += aRental.getCharge();
    }

转载于:https://www.cnblogs.com/mtcnn/p/9421292.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值