java有大量ifelse怎么优化
优化代码中大量的if/else,你有什么方案?
优化代码中大量的if/else,你有什么方案?
大量的if和else让程序的可读性非常差,如果再有嵌套if判断,又不添加注解,简直会让人崩溃。
这程序的时候,尽量先反向判断,。先判断不需要处理的情况,返回提示,再去处理业务,可能会让代码整洁很多。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
举例:
优化前:??
if(a5){
//处理业务
}else{
return
}
这样的代码就会看起来特别难受,处理业务部分如果还有这样的判断,就会让人看着“恶心了”
优化后:??
if(a!5){return}
//处理业务
这样看起来是不是就整洁多了。
以上只是给楼主一点思路,既然if和else存在,肯定是有存在的必然行的。可以减少它的使用,但是替代不了。
回答这个问题的切入点,个人感觉需要考虑下怎么样才能避免整出一大堆的if/else树,
有很多方法。
最基本的是将其一部分分配给单独的方法/函数。例如:
可以将其分解为:
这不仅仅是缩小代码缩进深度的技巧,它使代码可以自文档化。
你已经获取了一段代码并为其命名,这使得顶层代码更容易阅读;它具有非常直接的表述。同时,表达足够清晰,你不需要做任何单独注释。
在面向对象语言中,你可以将其作为对象设计的一部分:
这样,你可以找到实现“零”if语句的方式。面向对象编程旨在使你可以将缜密性思考与特殊语法结合起来,如示例,把香蕉banana和灵长动物primate放在一起。
代码设计编写并不是简单的事情,要看清问题中的自然“连接点”,做切割,这是将编写的各个部分分成可命名方法的一种扩展行为。
通常情况下,任何超过十多行的代码块都应该做到足够用短短几个字说明意思,并且“这几个字”可以用来给这一坨代码起个名字,要记住的是——命名事物是作为程序员要做的最重要的事情之一。
再有,使变量不变或许能管用。 submethods不能更改本地状态,有些编程语言很难一次返回多个值,这些都可以纳入考虑的范畴,反正是听上去容易,做起来难。
逻辑中存在多个ifelse怎么运用设计模式更好的解决?
语言上跟if else if 等价的可能用switch替换,稍微有点可读性。设计 模式不好讲, 一般考虑匹配模式, if 的层次不深都 好理解的, 把各种情况 枚举, 只用一层多个if ,不用else可读性高很多。