java 什么是把方法抽取出来

我一个代码很多很乱的servlet,老师让我把方法抽取出来,什么叫把方法抽取出来。怎么实现,求详解... 我一个代码很多很乱的servlet,老师让我把方法抽取出来,什么叫把方法抽取出来。怎么实现,
求详解
展开
 我来答
LMLU23
2014-08-14 · TA获得超过903个赞
知道小有建树答主
回答量:373
采纳率:0%
帮助的人:379万
展开全部
就是重构->抽取方法,简单来说就是把部分相关代码抽取出来成为一个方法,原来代码的位置改由调用该方法来代替。
如果你使用如Eclipse这种IDE,你可以通过选择要抽取的代码,鼠标右键选择重构->抽取方法,按照步骤给方法命名,确认,IDE就会帮你自动地把代码抽取出来形成一个私有的方法,原来的位置就会被调用这个方法的代码代替。
虽然操作步骤很简单,也就是把代码换个位置写,但实际隐含着程序设计的合理性和细粒度的考虑:
很明显你的代码里有超长的方法,一般方法会控制在10行以内,超过10行就可以认为有代码是可以提取出来成为公用方法的。超长的方法常常意味着高耦合、低内聚,重用性差和该类的职责太多。举个例子:
你的Servlet方法可能干了很多响应用户的操作,但有可能Servlet的另一个方法需要做其中一部分相同的操作,或者另外一个Servlet(一个Web应用有多个Servlet很正常)也需要同样的操作,更甚是一个本地的控制台应用程序(Servlet是属于会话层的,桌面应用程序一般不需要会话层)也需要做同样操作。这时候你会发现写在你的Servlet的代码只能拷贝到另一个程序中,或者压根就得重写,效率很低而且这样你的代码里会有很多重复代码...以后改一下就得改3个地方,不可维护的代码就是这样来的。同时你的超长方法也是难以理解的。
如何把握好程序的合理性需要很多的经验和设计技巧,这里就不提及了。有兴趣可以向着面向对象程序设计这个方向钻研。
百度网友f0240c618
推荐于2017-09-13 · TA获得超过220个赞
知道小有建树答主
回答量:159
采纳率:100%
帮助的人:76.8万
展开全部
我觉得你老师的意思是,你的servlet里边有很多方法其实并不是属于servlet这个范畴的,你可以把这些方法弄出来放到新建一个类当中,然后在servlet中调用这些方法,而不是直接在servlet中直接写出这些方法.这样会使得你的代码更清晰,可读性更好一点.另外可以把你的servlet发上来让大家看一看.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z871472639
2014-08-14 · TA获得超过249个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:145万
展开全部
/*抽取方法:把部分代码抽取出来,放到一个方法体里面
ALT+SHIFT+M

得先选中要抽取的部分。
如选中一行、几行、一个代码块*/

如 我下面的代码
public static void main(String args[]){
int ri, repeat;
int x, y = 0;

//抽取开始
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
x=in.nextInt();
/*------------------*/
if (x>0)
y=1;
else if (x==0)
y=0;
else if (x<0)
y=-1;
System.out.println(y);
}

//抽取结束
}

我把要抽取的部分选择 然后 ALT+SHIFT+M
命名后 就可以变为下面这样了

public static void main(String args[]){
int ri, repeat;
int x, y = 0;
chouqu(y);
}

private static void chouqu(int y) {
int ri;
int repeat;
int x;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
x=in.nextInt();
/*------------------*/
if (x>0)
y=1;
else if (x==0)
y=0;
else if (x<0)
y=-1;
System.out.println(y);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anITbird
2014-08-14 · TA获得超过317个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:259万
展开全部
就是把实现某一部分功能的代码,单独写到一个方法里,然后再调用这个方法。这样把代码提取之后,便于阅读。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9af401f
2014-08-14
知道答主
回答量:1
采纳率:0%
帮助的人:1393
展开全部
把方法抽出来就是将实现一个功能的代码放到一个方法中,然后在要执行该代码的地方调用你定义的方法,这样看起来就不会觉得代码很难看!比如一个将字符进行编码的功能的代码统一放到一个函数中,传入参数,返回编码后的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式