zoukankan      html  css  js  c++  java
  • 软件开发 —— 重构(refactor)

    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();
      }
  • 相关阅读:
    ORACLE DROP TABLE和truncate table的区别
    C#版链表加强版
    C#版栈
    再谈为什么要使用MONO
    流浪猫伏击大白鹅
    编写ASP.NET复合控件实例
    C# 大文件拷贝
    关于团队项目构架设计的疑问
    在Windows平台下使用MONO
    C#版链表
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421292.html
Copyright © 2011-2022 走看看