我有一个if-else分支
if(name.contains(substring)){
if(name.contains(substring1)){
return "this";
}else if(name.contains(substring2)){
return "that";
}
...
}else if(){
// if else ladder
}
....//else if ladder continues
else{
return "them"
}
重构此内容的最佳方法是什么?那是做这样的逻辑的最有效方法是什么?
答案 0 :(得分:0)
您可以使用switch语句代替梯形图。由于编译器能够优化switch语句,因此通常认为它们更有效。
答案 1 :(得分:0)
if/else
或switch
语句过多可能表示设计不良。
在某些情况下,最好使用接口(多态性),例如参见Replace Conditional with Polymorphism。
当然不是所有的if
都是不必要的。但是最好避免将控制结构与工作尽可能地混合在一起。最后,代码应该易于阅读。