今天从代码基中看到有几行记录日志的代码,如下所示:
log.info("---cardPay-----{}", cardPay);
log.info("---isChargedSchedule ", isChargedSchedule);
log.info("--- cardPay.getTimes() > 0-----{}", cardPay.getTimes() > 0);
log.info("--- isNotBlank(cardPay.getPayId()) -----{}", isNotBlank(cardPay.getPayId()));
log.info("--- All -----{}", isChargedSchedule && cardPay.getTimes() > 0 && isNotBlank(cardPay.getPayId()));
if (isChargedSchedule && cardPay.getTimes() > 0 && isNotBlank(cardPay.getPayId())) {
我想,原始作者,就是为了从日志中追踪下面那个复杂的 if 语句是否命中,但是这种写法有一些问题:
顺手做一下重构,代码如下:
val hasEnoughBalanceForSchedule = isChargedSchedule
&& cardPay.getTimes() > 0 && isNotBlank(cardPay.getPayId());
log.info("cardPay:{}, isChargedSchedule:{}, hasEnoughBalanceForSchedule:{}",
cardPay, isChargedSchedule, hasEnoughBalanceForSchedule);
if (hasEnoughBalanceForSchedule) {
这样子的好处如下:

