『重构--改善既有代码的设计』读书笔记----Inline Method

    加入间接层确实是可以带来便利,但过多的间接层有时候会让我自己都觉得有点恐怖,有些时候,语句本身已经够清晰的同时就没必要再嵌一个函数来调用了,这样只会适得其反。比如

void test()

{

    if (numGreaterFive())

    {

        qDebug() << "Ok, great!";

    }

}



bool numGreateFive()

{

    return m_num > 5;

}

    函数名称本身已经表达了这层意思就没必要画蛇添足了,当然我这边只是举了一个很简单的例子,但意思是一致的,就是语义与函数名称本身的距离

    因此我们只需要检查所有函数的调用点,然后替换其本体就行

void test()

{

    if (m_num > 5)

    {

        qDebug() << "Ok, great!";

    }

}

 

    今天这篇比较短,但短并不代表不重要,其实关于Inline Method有很多需要注意的地方,比如如果你是继承体系的话,你就不能对基类的virtual函数进行inline,不然你子类的函数就不会有多态性等,这些都是需要注意的地方。

你可能感兴趣的:(method)