代码重构
我是一个平凡的人
永不言败!
展开
-
如何保证微服务接口的幂等性
在我们实际中,在微服务架构的时候,我们在完成一个支付订单常常会遇到下面的场景:1.在预下单创建订单,第一次调用超时(timeout),然后重试了一次2.在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次3.一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然后又接收到了已创建4.在支付完成订单之后,需要发送一条短信,当一台机器接收转载 2017-08-01 12:21:24 · 3708 阅读 · 0 评论 -
卫语句优化嵌套表达式
根据《重构》第9章中可知,条件表达式通常有两种表现形式。第一种是所有分支都属于正常行为;第二种是条件表达式提供的答案只有一种是正常行为,其他都不是常见的情况。所以这两种表达式有不同用途,对于第一种代码可以用if-then-else的条件表达式;对于第二种某个条件极其罕见,就应该单独检查该条件,这种单独检查就被称为“卫语句”(guard clauses)。将条件和结果产生映射对应的关系。翻译 2017-07-24 02:08:39 · 609 阅读 · 1 评论