好的代码 更多的也是为了后期维护,哪怕后期不须要你来维护 ,清晰干爽的代码也会为做者留下好的印象java
而且 在工做团队中 能够施加影响力bash
乘坐飞机时须要 时间在起飞以前 先 领取登机牌 在 安检 最后 天气事宜飞行 的状况下 才能乘坐飞机起飞post
时间在起飞时间后----> 改签ui
未领取登机牌 ----->在飞机起飞前 领取登机牌编码
未安检 ---->在 飞机起飞前 安检spa
天气事宜飞行 ---> 飞行code
天气不宜飞行 ---> 改签cdn
if(currentTime() < airplane.startTime() ){
//时间在有效范围内
if(boardingPass(user)){
//拥有登机牌
if(securityCheck(user)){
//安检完成
if(haveAGoodDay()){
return //起飞
}else{
return //改签
}
}else{
return //进行安检
}
}else{
return //领取登机牌
}
}else{
return //改签
}
看见这样的代码 不知道是否有兴趣在读下去
这样的代码给人一种逻辑不清晰的感受 虽然逻辑上确实没问题
复制代码
将业务信息封装下,逻辑不混乱blog
if(currentTime() > airplane.startTime()){
return //改签
}
if(!haveAGoodDay()){
return //改签
}
if(!boardingPass(user)){
return //领取登机牌
}
if(!securityCheck(user)){
return //安检
}
return //起飞
用逆向思惟消灭层层嵌套
代码中出现屡次嵌套时:
1. 逻辑不清晰
2. 逻辑清晰但未将其视为一个业务总体,按照思惟栈的思考编码
3. 多层嵌套容易出现问题
复制代码
多重或与并不是的条件下达成的目的业务 不妨尝试下逆向逻辑get
时刻警戒思惟栈编码逻辑,优先将其考虑为一个总体
多重嵌套是有问题的代码