2017-05-29 121 views
2

我要計算圈複雜度爲僅包含一個evaluate像COBOL程序這一個:圈複雜度 - Cobol語言

EVALUATE x 
    WHEN x<0 ... 
    WHEN x=0 ... 
    WHEN x between 1 and 10 ... 
    WHEN OTHER ...` 
END EVALUATE.` 

我也計算圈複雜度爲僅包含一個IF語句COBOL程序像這樣:`

IF x<0 ... 
ELSE IF x=0 ... 
ELSE ... 

什麼是計算CC的算法? 謝謝你的時間。

+1

您選擇的標籤說算法「是根據通過源代碼的不同可能路徑的數量來計算的......」 –

回答

1

您可以在Wikipedia找到Cyclomatic Complexity的算法。

你將不得不畫流程圖和計算邊緣和路徑...有了這個和一些認爲你應該能夠做到這一點。

有兩個有用的提示可以幫助你。

1)在一個結構化程序(沒有gotos)中,CC結果等於條件數加上1。 2)如果仔細考慮它,你的EVALUTE語句和你的IF語句集合看起來就像是等價的代碼。所以你應該期望計算出的CC值是相同的。