重新组织函数 - Extract Method

简述

Extract Method(提炼函数)是最常用和最容易想到的重构手法之一。当看到一个过长,一般超过50行,或者需要注释才能理解用途的代码,我将会把这段代码放进一个独立函数中。

动机

  • 函数粒度小,容易被复用
  • 小函数可读性高,基本不用注释
  • 小函数,如果要重写,比较容易

做法

  1. 命名,以做什么命名,而不是怎么做命名
  2. 复制,将提炼的功能代码从源函数中复制到目标函数
  3. 局部变量处理
  • 无局部变量,只需剪切、粘贴、在插入一个函数完成

  • 有局部变量,被提炼代码段只对局部变量赋值,但只在提炼代码之中使用。这种情况局部变量移到提炼代码中声明即可

  • 有局部变量,被提炼代码段只对局部变量赋值,但在提炼代码之后使用。这种情况局部变量移到提炼代码中声明,让目标函数返回赋值后的局部变量

  • 有局部变量,提炼代码片段只是读取局部变量值。这种情况局部变量作为参数传给目标函数

  • 有局部变量,被提炼代码段既读取局部变量值,又对局部变量赋值。这种情况局部变量在提炼代码前声明,且作为参数传入。如果局部变量在提炼代码之后还要使用,让目标函数返回赋值后的局部变量

  • 如果局部变量有多个,可能要运用Split Temporary Variable,或Replace Temp with Query消灭临时变量

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容