buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

从实时清分手续费记账看代码的易读性

商户手续费(MercFeeModEnum)的收费方式有

NOT_FEE("0", "不收取"),
ACTUAL_FEE("1", "实时收取"),
SINGLE_CAL_PERIOD_RCV("2", "单笔计算周期收取"),
PERIOD_COLLECT_RCV("3", "周期汇总计算收取");

 

手续费计算类里,会根据商户的收费方式配置来计算手续费。配置值是0,则手续费是0;配置值是1,则计算手续费;配置值是2也会计算手续费,只不过定期收取;配置值是3则不计算手续费(手续费是0),同样收取方式同配置值2。


实时清分逻辑里,在调用记账时,对这个收费方式的判断是:

 

看截图里的代码,如果不清楚上面手续费计算类里的逻辑,不免会有疑惑“配置值是0时还把计算出来的手续费传给记账请求对象了?”。当然,因为手续费计算类里给的手续费是0,所以,上面代码并无bug。只不过需要花时间了解一下手续费计算类的计算逻辑。

因为实时清分只针对配置值是1时才记手续费账,所以,改成如下逻辑会更直观易读(即使不知道手续费计算类的计算逻辑,也不会有上面的疑惑):

 

posted on 2018-09-28 20:50  buguge  阅读(570)  评论(0编辑  收藏  举报