int leijiqiandao = 1;// 累计签到次数
if (qiandao== null)
return;
if (qiandao.getTime() != null) {
// 上次签到时间 为今天
if (isToday(qiandao.getTime())) {
model.addAttribute("msg", "您今天已经签到过了,明天再来吧!");
} else {
// 上次签到时间 为昨天
if (isYesterday(qiandao.getTime())) {
if (qiandao.getLeijiqiandao() != null) {
leijiqiandao = qiandao.getLeijiqiandao() + 1;
}
}
方法a();
}
} else {// 签到时间为NULL,从未签到过
方法a();
}
我做的签到功能,if/else那块看看能不能简化,感觉乱乱的...
if/else 那块逻辑, 方法a()出现了两次...
必要的判断该做还得做,完全是逻辑梳理
为啥今天和昨天没有签到,就是从未签到过?
如果你要简化逻辑那就用简单的条件变量来看看
if (qiandao.getTime() != null) { 为条件a
if (isToday(qiandao.getTime())) { 为条件b
你的条件是
a b xxxx
a !b 调用方法a
!a b 调用方法a
!a !b 调用方法a
所以最后的表达式简化为
if (!(a&&b)) {
if(!b){
// 上次签到时间 为昨天
if (isYesterday(qiandao.getTime())) {
if (qiandao.getLeijiqiandao() != null) {
leijiqiandao = qiandao.getLeijiqiandao() + 1;
}
}
}
调用方法a
} else {
model.addAttribute("msg", "您今天已经签到过了,明天再来吧!");
}