java如何抽出大量重复代码

java如何抽出大量重复代码

问:JAVA代码如何用继承提取出重复代码,优化代码冗余
  1. 答:重新写个方法,把你选中的放进去,用到的时候调用下就好,重写写的方法最好是static修饰的,这样就能直接用类名调用了,比如
    public class A{
    public static void b(){
    //这里放你那些代码
    }
    }
    以后要用的话就是A.b()就可以用了
  2. 答:把方法移到父类中去。
  3. 答:你是用eclipse吗,选中代码。按ALT+Ctrl+M
  4. 答:把它封装成一个静态方法, 把字符串传入即可, 返回类型为通用类型即可,需要的地方 直接 类名+方法名 即可
  5. 答:定义一个BaseSpringController
    public class BaseSpringController {
    public ModelAndView get403Error(String usertype) {
    if(!"superuser".equalsIgnoreCase(usertype) && !"manager".equalsIgnoreCase(usertype)) {
    return new ModelAndView("errors/403","reso")...
    }
    }
    }
    public class ImportParticipators extends BaseSpringController {
    //直接调用就可以了
    return get403Error(xx);
    }
  6. 答: public class ImportParticipators{
     @RequestMapping(value = "/importParticipators" , method = RequestMethod.GET)
     public ModelAndView showImportParticipatorsView(){
      String userType = (String) session.getAttribute("usertype");
      if(isUserType(userType)){
       return new ModelAndView("errors/403","","")
      }
     }
     private Boolean isUserType(String userType){
      if(!"superuser".equalsIgnoreCase(userType)&&!"manager".equalsIgnoreCase(usertype)){
       return true
      }else{
       return false
      }
     }
    }
     下次最好吧代码粘出来 别搞图片  打着太费劲了
问:我想把这段java代码封装,重复代码太多了
  1. 答:你把重复的代码提取出来封装成一个方法不就是了,无非就是
    private void SendData(int screenid,int controlid,String info)
    {
    UpdateTextData data=new UpdateTextData();
    data.setScreen_id(screenid);
    data.setControl_id(controlid);
    data.SetStrings(info);
    List<Byte>.......
    RS232.write.......
    }
    之后在你的popupAlertWindow里就可以写
    SendData(7,5,String.valueOf(code));
    SendData(7,5,type);
    SendData(7,5,info);
问:java 什么是把方法抽取出来
  1. 答:把方法抽出来就是将实现一个功能的代码放到一个方法中,然后在要执行该代码的地方调用你定义的方法,这样看起来就不会觉得代码很难看!比如一个将字符进行编码的功能的代码统一放到一个函数中,传入参数,返回编码后的结果。
  2. 答:就是重构->抽取方法,简单来说就是把部分相关代码抽取出来成为一个方法,原来代码的位置改由调用该方法来代替。
    如果你使用如Eclipse这种IDE,你可以通过选择要抽取的代码,鼠标右键选择重构->抽取方法,按照步骤给方法命名,确认,IDE就会帮你自动地把代码抽取出来形成一个私有的方法,原来的位置就会被调用这个方法的代码代替。
    虽然操作步骤很简单,也就是把代码换个位置写,但实际隐含着程序设计的合理性和细粒度的考虑:
    很明显你的代码里有超长的方法,一般方法会控制在10行以内,超过10行就可以认为有代码是可以提取出来成为公用方法的。超长的方法常常意味着高耦合、低内聚,重用性差和该类的职责太多。举个例子:
    你的Servlet方法可能干了很多响应用户的操作,但有可能Servlet的另一个方法需要做其中一部分相同的操作,或者另外一个Servlet(一个Web应用有多个Servlet很正常)也需要同样的操作,更甚是一个本地的控制台应用程序(Servlet是属于会话层的,桌面应用程序一般不需要会话层)也需要做同样操作。这时候你会发现写在你的Servlet的代码只能拷贝到另一个程序中,或者压根就得重写,效率很低而且这样你的代码里会有很多重复代码...以后改一下就得改3个地方,不可维护的代码就是这样来的。同时你的超长方法也是难以理解的。
    如何把握好程序的合理性需要很多的经验和设计技巧,这里就不提及了。有兴趣可以向着面向对象程序设计这个方向钻研。
  3. 答:我觉得你老师的意思是,你的servlet里边有很多方法其实并不是属于servlet这个范畴的,你可以把这些方法弄出来放到新建一个类当中,然后在servlet中调用这些方法,而不是直接在servlet中直接写出这些方法.这样会使得你的代码更清晰,可读性更好一点.另外可以把你的servlet发上来让大家看一看.
  4. 答:就是把实现某一部分功能的代码,单独写到一个方法里,然后再调用这个方法。这样把代码提取之后,便于阅读。
  5. 答:调用servlet里面的方法名就可以了. .
java如何抽出大量重复代码
下载Doc文档

猜你喜欢