《重构:改善既有代码的设计》 重新组织函数的使用方法 之 2

版权声明:请注明转发出处 https://blog.csdn.net/mafucun1988/article/details/89349773

《重构:改善既有代码的设计》中提到过很多重构方法,关于重新组织函数的方法有9种。本文介绍:
内联函数 inline method

  • 名称:内联函数 inline method
  • 概要:一个函数的本体与名称同样清楚易懂。在函数调用点插入函数本体,然后移除该函数
  • 动机:函数本体比名称更易读
  • 做法:
    • 检查函数,确定它不具有多态性。如果子类继承了这个函数,就不要将此函数内联,因为子类无法覆写一个根本不存在的函数
    • 找出这个函数的所有被调用点,都替换为函数本体
    • 编译,测试
    • 删除该函数的定义
  • 代码演示:

修改之前的代码:

///////////////////////////.h

#ifndef REFACTORMETHOD_H
#define REFACTORMETHOD_H
#include <QString>
#include <QVector>


class RefactorMethod
{
public:
    int GetRating();
    bool MoreThanFiveLateDeliveries();

private:
    int m_NumberOfLateDeliveries;
};

#endif // REFACTORMETHOD_H


///////////////////////////.cpp

int RefactorMethod::GetRating()
{
    return (MoreThanFiveLateDeliveries()) ?  2 : 1;
}

bool RefactorMethod::MoreThanFiveLateDeliveries()
{ 
    return m_NumberOfLateDeliveries > 5;
}

修改之后的代码

///////////////////////////.h

#ifndef REFACTORMETHOD_H
#define REFACTORMETHOD_H
#include <QString>
#include <QVector>


class RefactorMethod
{
public:
    int GetRating();
private:
    int m_NumberOfLateDeliveries;
};

#endif // REFACTORMETHOD_H


///////////////////////////.cpp

int RefactorMethod::GetRating()
{
    return (m_NumberOfLateDeliveries > 5) ?  2 : 1;
}

  

猜你喜欢

转载自blog.csdn.net/mafucun1988/article/details/89349773