美文网首页
重新组织函数-Inline Method(内联函数)

重新组织函数-Inline Method(内联函数)

作者: 瑾然有昫 | 来源:发表于2019-12-18 14:44 被阅读0次

一个函数的本体与名称同样清除易懂.在函数调用点插入函数本体,然后移除该函数

示例:

修改前:

   /**
     * @return int
     */
    public function getRating() {
        return $this->moreThanFiveLateDeliveries() ? 2 : 1;
    }

    /**
     * @return bool
     */
    public function moreThanFiveLateDeliveries() {
        return $this->numberOfLateDeliveries > 5;
    }

修改后:

   /**
     * @return int
     */
    public function getRating() {
        return $this->numberOfLateDeliveries > 5 ? 2 : 1;
    }

动机

  1. 简短的函数表现动作意图, 这样会是代码更清晰易读. 但有时候会遇到某系函数,其内部代码和函数名称同样清晰易读,也可能重构了该函数,使其内容和其名称同样清晰.果真如此你应该去掉这个函数.直接使用其中的代码.
  2. 另一种需要使用内联函数的情况是:代码中有很多不合理的函数,你可以将他们都内联到一个大型函数中, 在从中组织合理的小型函数.你可以吧所要的函数(有着你要的行为)的所有调用对象的函数内容都内联到函数对象中.比起既要移动一个函数,又要逸动它所调用的其他所有函数,将整个大型函数作为整体来移动会比较简单.
  3. 使用了太多的间接层,使得系统中的所有函数似乎都是对另一个函数的简单委托.造成在这些委托动作之间晕头转向,那么通常都会使用Inline Method. 当然 间接层有其价值,但不是所有的间接层都有价值.试着使用内联手法,移除那些无用的间接层.

做法

  1. 检查函数, 确定它不具多态性
  2. 找出这个函数的所有被调用点都替换为函数本体
  3. 测试,删除该函数的定义

相关文章

  • 《重构--改善既有代码的设计》

    章节六 重新组织你的函数 Extract Method(提炼函数) Inline Method(将函数内联化) I...

  • 重新组织函数-Inline Method(内联函数)

    一个函数的本体与名称同样清除易懂.在函数调用点插入函数本体,然后移除该函数 示例: 修改前: 修改后: 动机 简短...

  • 重新组织函数 - Inline Method

    简述 Inline Method(内联函数)指函数本体和名称同样清晰易懂,只要插入函数本体。 改为 动机 函数内容...

  • 内联函数

    内联函数 整理自内联函数百度百科 内联函数是指用inline修饰的函数(并不是所有用inline修饰的函数都是内联...

  • C++ 从入门到放弃 (Day-02)

    内联函数(inline function) ◼ 使用inline修饰函数的声明或者实现,可以使其变成内联函数 建...

  • Kotlin内联函数使用

    inline 本质 Kotlin中的内联函数使用inline关键字修饰,形如: 编译时,inline会将内联函数中...

  • 04-内联函数(inline function)

    内联函数(inline function) 使用inline修饰函数的声明或者实现,可以使其变成内联函数。一般建议...

  • 内联函数、引用、const

    内联函数 inline function 使用inline修饰函数的声明或者实现,可以使其变成内联函数。 一般建议...

  • 重构读书笔记-6_2-Inline_Method

    重构第六章 Inline Method(内联函数) 一个函数,其本体和其名称一样清楚易懂时,在函数调用点插入函数本...

  • 3.构造函数

    inline(内联)函数 inline函数是直接替换函数名为函数内容.声明inline的两种方式: 函数定义时在函...

网友评论

      本文标题:重新组织函数-Inline Method(内联函数)

      本文链接:https://www.haomeiwen.com/subject/fvkunctx.html