簡體   English   中英

重構 if else 分支的最佳方法是什么

[英]What is the best way to refactor an if else branch

我有一個 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"
}

重構它的最佳方法是什么? 那使這樣的邏輯最有效的方法是什么?

如果梯子,您可以使用 switch 語句而不是 else。 由於編譯器能夠優化 switch 語句,因此通常認為它們更有效。

過多的if/elseswitch語句可能表明設計不佳。

在某些情況下,最好使用接口(多態性),例如Replace Conditional with Polymorphism

當然不是所有的if都是不必要的。 但最好避免將控制結構與工作混為一談。 最后,代碼應該易於閱讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM