估计看到这个标题,就要有人破口大喷了,这种浅显的问题还要问!肯定要返回值啊!!
咱们不说废话,直接提枪上阵,拿代码说事!!!
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就是一个功能,代码执行完就表示成功了,咱真没必要脱裤子放屁,硬给他塞一个执行成功的返回值。
版权声明:本文为zhanglei082319原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。