怎样设计一个判断流程?
在我们写代码的时候,总会有这样那样的控制判断流程,那么我们应该怎么样写控制流程呢?
举个例子:
在登录的时候,我们需要根据账户的格式、账户的长度、账户和密码、网络状况等来共同决策一次登录请求的成功,我们难道只是简简单单的去尝试把各种判断情况简单的堆叠在一起吗?
比如:
if(!格式正确){
} else if(!长度问题){
} else if(!网络状况良好){
} else if(!账户存在){
} else if(!账户密码匹配){
} else{
login success
}
这里是一个简单的登录的动作,我们应该考虑登录动作肯定需要的东西:网络,没有网络======》纠正用户的账户输入有什么卵用?======》难道这样可以登录成功吗?所以下边的逻辑好像更好点:
if(!网络状况良好){
} else if(!长度问题){
} else if(!账户格式正确){
} else if(!账户存在){
} else if(!账户密码匹配){
} else{
login success
}
再举一个例子:
如果我们需要测试一个网络通信的功能,而这个功能模块需要很多的模块来实现,而如果这些模块的版本不够的话,就会导致整个网络通信的失败,那我们应该怎么设计这个判断逻辑呢?
这里模块的版本是网络通信的基础,如果版本不够,即使网络状况良好,那么也无法正确的进行网络通信,所以我们应该优先进行模块版本的卡控,然后对网络状况的判断,这样子的控制逻辑好像更加合理。
总结:
只是在日常开发中突发奇想,我们是不是应该从用户的角度来设计逻辑,让我们的流程控制更加完美,有时候控制流程真的不是一大堆条件随便的一堆。