什么情况下使用?
你是否在你的或者其它人的程序中发现过于冗长的代码,它们包含很多很难理解的东西,让你不得不在其中找寻这段代码是做这个用,那段代码是做那个用……它们竟然出现在一个方法中?!
当你有这种感觉的时候,你就应该考虑是否使用这种重构手法了。
目的:
让方法的名称可以解释它所包含代码的意义。使每个方法粒度更小。
要注意的问题:
一个方法中的代码长短并不是核心问题,关键在于它是否能表明它要完成的事情,比如说一个处理用户请求方法,它要先判断用户状态,接着是接收用户请求,然后是是否能满足用户需求,最后返回给用户相应消息。这些代码如果写在一个方法中就显得过于冗长了,我们可以把判断用户状态、接收用户请求写在独立方法中,再在处理方法中调用就可以了。而有些时候代码虽然很长,但是你并不能抽出有明确意思的部分代码,强行抽出会取得反效果,所以说一定要在抽取后可以强化代码的清晰度再去做抽取动作。
使用方法:
1、创造一个新方法,给它明确命名(要能清楚表明该方法用途)
2、把要抽取的代码放到新方法中,进行修改(如传入一些参数)
3、检查是否有临时变量,将它加到方法中
4、看看是否需要返回值
5、在原来的代码中引用该方法
6、编译、测试
(下篇文章提供示例代码)
你是否在你的或者其它人的程序中发现过于冗长的代码,它们包含很多很难理解的东西,让你不得不在其中找寻这段代码是做这个用,那段代码是做那个用……它们竟然出现在一个方法中?!

目的:
让方法的名称可以解释它所包含代码的意义。使每个方法粒度更小。
要注意的问题:
一个方法中的代码长短并不是核心问题,关键在于它是否能表明它要完成的事情,比如说一个处理用户请求方法,它要先判断用户状态,接着是接收用户请求,然后是是否能满足用户需求,最后返回给用户相应消息。这些代码如果写在一个方法中就显得过于冗长了,我们可以把判断用户状态、接收用户请求写在独立方法中,再在处理方法中调用就可以了。而有些时候代码虽然很长,但是你并不能抽出有明确意思的部分代码,强行抽出会取得反效果,所以说一定要在抽取后可以强化代码的清晰度再去做抽取动作。
使用方法:
1、创造一个新方法,给它明确命名(要能清楚表明该方法用途)
2、把要抽取的代码放到新方法中,进行修改(如传入一些参数)
3、检查是否有临时变量,将它加到方法中
4、看看是否需要返回值
5、在原来的代码中引用该方法
6、编译、测试
(下篇文章提供示例代码)