Service更新到底要不要执行成功的返回值???

 估计看到这个标题,就要有人破口大喷了,这种浅显的问题还要问!肯定要返回值啊!!

 

      咱们不说废话,直接提枪上阵,拿代码说事!!!

      

public Integer  placeOrder(Order order){    //校验订单    checkOrder(order);    //保存订单的基本信息    saveOrder(order);    //更新用户的账户信息    updateUserAccount(order);    //添加用户额账户流水    addUserAccountLog(order);    //保存订单的流水日志    saveOrderLog(order);    //更新商家的商品数据    updateBusinessData(order);    //添加*****    ****(order);    //反正是一堆杂七杂八,乱七八糟的业务逻辑    ……}

 

     上面的代码的是java写的,咱们姑且就当它是一个用户做下单的业务操作吧

 

       这个代码写的怎么样呢??

 

       用我的话说: 注释合理!业务清晰!代码简洁!高可读性!

 

      但是!这个代码它的更新操作是没有返回值的,或者说有返回值,但是没有对返回值做任何判断!

 

  

      

 

     

     ……

 

      可是!为啥我就是喜欢这样的代码呢,哎真的是犯贱

     不行,这样逻辑不严谨,咱们java是强类型语言,怎么能写出这么不严谨的代码呢。好吧我们修改一下

 

 

正确的代码应该是这样子滴!

     

public Integer  placeOrder(Order order){    //校验订单    checkOrder(order);    //保存订单的基本信息    boolean saveOrder= saveOrder(order);    if(saveOrder){        //更新用户的账户信息        boolean updateUserAccount = updateUserAccount(order);        if(updateUserAccount){            //添加用户额账户流水            boolean addLog = addUserAccountLog(order);            if(addLog){               //保存订单的流水日志              boolean addLog1 = saveOrderLog(order);              if(addLog1){                  //更新商家的商品数据                  booelean *** = updateBusinessData(order);                  if(****){                      ****                  }else{                     throw new Exception**                  }              }else{                 throw new Exception**              }            }else{                throw new Exception**            }        }else{           throw new Exception**        }    }else{        throw new Exception**    }}

 

 

~~

嗯?怎么感觉好像和我想象中的不大一样啊???

我是谁? 我在哪?我在干什么???

 

 

不对啊,为啥要在调用方法后面抛异常呢,保存失败直接抛异常不就好了,反正在哪都是抛异常!

所以代码要改成这样子~

/***  保存订单基本信息*/public  boolean saveOrder(Order order){     //此处省略一万行代码     …………     boolean bool = orderDao.insert(order);     if(!bool){         throw new Exception***     }     return bool;}

 

这样的代码才叫好代码!

 

 

 

等等

 

……

 

咱貌似干了件非常SB的事情!

 

 

那还返回个毛线啊……

 

走起!!!

 

/***  保存订单基本信息*/public  void saveOrder(Order order){     //此处省略一万行代码     …………     boolean bool = orderDao.insert(order);     if(!bool){         throw new Exception***     }}

 

咦,好像Service还真的不需要返回值啊! 嘿嘿

 

说到底,Service就是一个功能,代码执行完就表示成功了,咱真没必要脱裤子放屁,硬给他塞一个执行成功的返回值。

 

 

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值