摘要:代碼的環復雜度,有的地方又翻譯成圈復雜度是一種代碼復雜度的衡量標準,在年由提出。圈復雜度大說明程序代碼可能質量低且難于測試和維護。
代碼的環復雜度(Cyclomatic complexity,有的地方又翻譯成圈復雜度)是一種代碼復雜度的衡量標準,在1976年由Thomas J. McCabe, Sr. 提出。
在軟件測試的概念里,圈復雜度用來衡量一個模塊判定結構的復雜程度,數量上表現為獨立線性路徑條數,即合理的預防錯誤所需測試的最少路徑條數。圈復雜度大說明程序代碼可能質量低且難于測試和維護。
計算公式環復雜度 = E ? N + 2
E = 程序控制流圖中邊的個數
N = 程序控制流圖中點的個數
看個具體的例子。下面這段ABAP代碼的環復雜度根據公式計算為3.
DATA: lv_value TYPE i VALUE 1. IF lv_value = 1. WRITE: / "always happend". ELSEIF lv_value = 2. WRITE: / "not possible". ELSE. WRITE: / "even not possible". ENDIF.
先把代碼的程序流圖畫出來:
在ABAP里用Code inspector這個工具測量代碼的環復雜度:
具體步驟參考我的ABAP博客:
A Small tip to get all transparent tables used in ABAP code
Useful tips regarding ABAP code inspector that you may not know
而Java可以用一個叫做SourceMonitor的工具測量環復雜度:
詳細使用參考我的博客Use SourceMonitor to monitor your java code complexity
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/68973.html
摘要:代碼的環復雜度,有時也翻譯成圈復雜度是一種代碼復雜度的衡量標準,在年由提出。好消息是,有一款名為的免費軟件,能夠幫我們來度量代碼的環復雜度。很快就將我們指定的文件的環復雜度計算完畢。 代碼的環復雜度(Cyclomatic complexity,有時也翻譯成圈復雜度)是一種代碼復雜度的衡量標準,在1976年由Thomas J. McCabe, Sr. 提出。 來看看計算公式。 代碼環復雜...
摘要:本文屬于系列三當中的一篇。編碼實現在下面的類當中,關鍵點是定義了一個字段,用來記錄當前與其它之間的關聯關系。第二點,修改方法,記錄之間的關聯關系。注意,這里拋出異常下面的類的方法的復雜度是。第二點,代碼示例,如何使用實現計算。 本文屬于Java ASM系列三:Tree API當中的一篇。1. Cyclomati...
摘要:天生缺乏邏輯性的問題導致了預處理器的出現。這會導致圈復雜度問題。圈復雜度對于來說可能是一種比較高階的原則,但如果我們通過它來考量那些蘊含在我們寫的選擇器中的邏輯性,那我們也許就能寫出更加優秀的代碼。 本文在征得原作者 @csswizardry 同意的情況下,翻譯自他博客中的文章:Cyclomatic Complexity: Logic in CSS。最初發布于我的個人博客:咀嚼之...
摘要:原文來自如果說你想知道一個項目的代碼復雜度是什么樣子的,我推薦你可以使用和來檢測一下。安裝也是可以直接全局安裝安裝完畢之后,可以這樣來運行命令分析代碼復雜度等待運行結束,用打開就可以查看相對應的結果,大概是這個樣子 原文來自:https://www.codecasts.com/blo... 如果說你想知道一個 PHP 項目的代碼復雜度是什么樣子的,我推薦你可以使用 phploc 和 P...
閱讀 898·2023-04-26 01:37
閱讀 3371·2021-09-02 15:40
閱讀 961·2021-09-01 10:29
閱讀 2895·2019-08-29 17:05
閱讀 3425·2019-08-28 18:02
閱讀 1183·2019-08-28 18:00
閱讀 1492·2019-08-26 11:00
閱讀 2613·2019-08-26 10:27