1:刚开始自己写的代码很简洁,逻辑清晰,函数精简,没有一个if-else,但是到后面具体实现只能不停增加if—eles。下面我们来看看如何重构吧。
2://举例:异常逻辑处理例子
Object obj = getObj();if (obj != null) {//do something}else{//do something
}
3://举例:状态处理例子
Object obj = getObj();if (obj.getType == 1) {//do something}else if (obj.getType == 2) {//do something}else{//do something
}
4:第一个例子if (obj != null)是异常处理,是代码健壮性判断,只有if里面才是正常的处理流程,else分支是出错处理流程;
而第二个例子不管type等于1,2还是其他情况,都属于业务的正常流程。对于这两种情况重构的方法也不一样。
5:代码if-else代码太多有什么缺点?最大的问题是代码逻辑复杂,维护性差,极容易引发bug。
如果使用if-else,说明if分支和else分支的重视是同等的,但大多数情况并非如此,容易引起误解和理解困难。
6:是否有好的方法优化?如何重构?
方法肯定是有的。重构if-else时,心中无时无刻把握一个原则:尽可能地维持正常流程代码在最外层。意思是说,可以写if-else语句时一定要尽量保持主干代码是正常流程,避免嵌套过深。实现的手段有:减少嵌套、移除临时变量、
如何使用if..else重构if
最新推荐文章于 2022-01-10 13:48:44 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)