代码重构实例

在面临项目中大量重复代码的问题时,通过重构将参数检查、权限认证和异常处理等通用逻辑提取到新定义的接口中,实现了业务逻辑与辅助代码的分离。在原有资源类中增加一个公共私有方法,利用不定长度的String参数适应不同请求,有效减少了代码冗余,提高了代码的可维护性。
摘要由CSDN通过智能技术生成

  给一个已有项目增加新需求时发现,原有项目中存在大量重复代码,每个处理前台的请求的方法中,参数检查、权限认证、异常处理代码都是一样的,而真正的业务逻辑就被这一段段的重复代码淹没了,重复代码的结构如下:

public Response getResult(String request){
    if(参数检测失败){
        return response(code 400);
    }
    if(权限检测失败){
        return response(code 403);
    }
    try{
        ***真正的业务逻辑***
        return response(code 200);
    }catch(Exception e){
        return response(code 500);
    }
}

  同一个给UI的资源类中,存在五段以上的代码,而后续增加接口也还是需要做这些梳理。项目中存在大量重复代码的弊端不需要我多说,经过设计后,开始重构代码。因为组装返回码的代码都已存在,为了复用原代码,并减少重复代码,做如下改动:
  新定义一个接口,其中有一个抽象方法execute():

public interface Handler{
    public Response execute(String... params);
}

  在原来的资源类中增加一个公共的私有方法(没有定义再新的类,是因为实际的业务代码中用到了资源类中的其他私有方法,比如从请求中拿到用户名),如下:

private Response dealMethod(Handler handler,String... params){
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值