概述
你有一段代码可以被组织在一起并独立出来。将这段代码放进一个独立的函数中,并让函数名称解释该函数的用途。
以后的笔记要多些自己的理解。而不单单是对文中内容的摘要。
动机
适用情况:主要是为了提高可理解性。1 )函数过长; 2 )需要注释才能够理解——这两种情况下可以考虑使用此重构手法。
目标:简短而又有良好命名的函数。
好处:1 )函数复用性好。 2 )高层函数更容易理解(就像读注释一样阅读代码。但是,前提是函数有良好的命名)。 3 ) 覆写更容易(??什么意思,是否是继承的覆写)。
前提条件:函数要有良好的命名,否则,使用此重构手法的效果会打折扣。
如何决定函数的长度:没有标准。 关键在于函数名和函数本体间的语义距离 (好好理解一下)。如果提炼代码可以使函数更清晰,则,即便是函数名比代码长度还长,也无所谓。
作法
这个作法有一个比较困难的地方,就是对局部变量的处理。
1、 构造一个新函数,并且以这个函数的意图命名(以做什么命名,而非怎么做命名)。如果提炼代码能更好的昭示代码意图,即便是一行代码,或这有一个函数调用,你也要提炼它。但如果你没有良好的命名,则不宜轻举妄动。
2、 将源代码拷贝到目标函数,处理因为拷贝代码需要处理的变量。
3、 在原函数中用此目标函数代替。
4、 编译,测试。
局部变量(包括原函数的参数和原函数的临时变量)的处理方法:
1、 只读取其值,可以作为函数参数。
2、 对局部变量赋值:分两种情况:1 )只在被提炼码中使用,则整个提取出来。 2 )如果内外都用通到,则可以让新的函数返回其值。 3 )如果变量在原函数中被复制,则可以作为参数传递进去。
一个函数最好一个返回值。多个返回值可以设定多个函数。
如果临时变量时此重构无法进行,则可以先使用其他的重构手法减少临时变量。
本文探讨了通过重构将代码片段提炼为独立函数的方法,旨在提高代码的可读性和复用性。介绍了如何选择合适的代码块进行提炼,以及提炼过程中需要注意的问题,如局部变量的处理等。
371

被折叠的 条评论
为什么被折叠?



