java 最大圈复杂度_控制圈复杂度的9种重构技术总结
可以直接降低圈復雜度的9種重構技術(針對結構化編程): Composing Methods(重新組織你的函數) 1.Extract Method(提煉函數) 分為不同的step步驟進行處理,主干邏輯方法控制在7個以內 將代碼放進一個獨立函數中,并讓函數名稱解釋該函數的用途
2.Substitute Algorithm(替換你的算法) 將函數本體替換為另一個更清晰、簡化的算法 ,如多值匹配candidates.contains Simplifying Conditional Expressions(簡化條件表達式) 3.Decompose Conditional(分解條件式) 從if、then、else三個段落中分別提煉出獨立函數 4.Consolidate Conditional Expression(合并條件式) 將多個條件合并 為 c1||c2&&c3,并提煉為一個函數 5.Consolidate Duplicate Conditional Fragments(合并重復的條件片斷) 多個條件都執行的代碼,將重復代碼搬移到條件式之外 6.Remove Control Flag(移除控制標記) 以break和return取代控制標記 Making Method Calls Simpler(簡化函數調用) 7.Separate Query from Modifier(將查詢函數和修改函數分離) 單一職責原則,建立兩個不同的函數,其中一個負責查詢,另一個負責修改
8.Parameterize Method(令函數攜帶參數) 通用函數,建立單一函數,以參數表達那些不同的值 9.Replace Parameter with Explicit Methods(以明確函數取代參數) 多個if對應對個函數; 針對該參數的每一個可能值,建立一個獨立函數 --- Refactoring: Improving the Design of Existing Code 針對面向對象編程: 10.Replace Conditional with Polymorphism(以多態取代條件式) 將整個條件式的每個分支放進一個子類的重載方法中,然后將原始函數聲明為抽象方法 面向接口編程,一個接口多種實現;利用state模式減少分支
總結
以上是生活随笔為你收集整理的java 最大圈复杂度_控制圈复杂度的9种重构技术总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言结构体的定义与使用、结构体数组、指
- 下一篇: SAS程序