『重构--改善既有代码的设计』读书笔记----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,不然你子类的函数就不会有多态性等,这些都是需要注意的地方。

posted @ 2014-11-21 13:59  Ricky.K  阅读(320)  评论(0编辑  收藏  举报