国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何計算并測量ABAP及Java代碼的環(huán)復(fù)雜度Cyclomatic complexity

googollee / 2738人閱讀

摘要:代碼的環(huán)復(fù)雜度,有的地方又翻譯成圈復(fù)雜度是一種代碼復(fù)雜度的衡量標(biāo)準(zhǔn),在年由提出。圈復(fù)雜度大說明程序代碼可能質(zhì)量低且難于測試和維護(hù)。

代碼的環(huán)復(fù)雜度(Cyclomatic complexity,有的地方又翻譯成圈復(fù)雜度)是一種代碼復(fù)雜度的衡量標(biāo)準(zhǔn),在1976年由Thomas J. McCabe, Sr. 提出。

在軟件測試的概念里,圈復(fù)雜度用來衡量一個模塊判定結(jié)構(gòu)的復(fù)雜程度,數(shù)量上表現(xiàn)為獨(dú)立線性路徑條數(shù),即合理的預(yù)防錯誤所需測試的最少路徑條數(shù)。圈復(fù)雜度大說明程序代碼可能質(zhì)量低且難于測試和維護(hù)。

計算公式

環(huán)復(fù)雜度 = E ? N + 2

E = 程序控制流圖中邊的個數(shù)

N = 程序控制流圖中點(diǎn)的個數(shù)

看個具體的例子。下面這段ABAP代碼的環(huán)復(fù)雜度根據(jù)公式計算為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這個工具測量代碼的環(huán)復(fù)雜度:

具體步驟參考我的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的工具測量環(huán)復(fù)雜度:

詳細(xì)使用參考我的博客Use SourceMonitor to monitor your java code complexity

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/68973.html

相關(guān)文章

  • 使用工具Source Monitor測量Java代碼的環(huán)復(fù)雜度

    摘要:代碼的環(huán)復(fù)雜度,有時也翻譯成圈復(fù)雜度是一種代碼復(fù)雜度的衡量標(biāo)準(zhǔn),在年由提出。好消息是,有一款名為的免費(fèi)軟件,能夠幫我們來度量代碼的環(huán)復(fù)雜度。很快就將我們指定的文件的環(huán)復(fù)雜度計算完畢。 代碼的環(huán)復(fù)雜度(Cyclomatic complexity,有時也翻譯成圈復(fù)雜度)是一種代碼復(fù)雜度的衡量標(biāo)準(zhǔn),在1976年由Thomas J. McCabe, Sr. 提出。 來看看計算公式。 代碼環(huán)復(fù)雜...

    TwIStOy 評論0 收藏0
  • #yyds干貨盤點(diǎn)#Java ASM系列:(098)Cyclomatic Complexity

    摘要:本文屬于系列三當(dāng)中的一篇。編碼實(shí)現(xiàn)在下面的類當(dāng)中,關(guān)鍵點(diǎn)是定義了一個字段,用來記錄當(dāng)前與其它之間的關(guān)聯(lián)關(guān)系。第二點(diǎn),修改方法,記錄之間的關(guān)聯(lián)關(guān)系。注意,這里拋出異常下面的類的方法的復(fù)雜度是。第二點(diǎn),代碼示例,如何使用實(shí)現(xiàn)計算。 本文屬于Java ASM系列三:Tree API當(dāng)中的一篇。1. Cyclomati...

    不知名網(wǎng)友 評論0 收藏0
  • 論 CSS 中的邏輯

    摘要:天生缺乏邏輯性的問題導(dǎo)致了預(yù)處理器的出現(xiàn)。這會導(dǎo)致圈復(fù)雜度問題。圈復(fù)雜度對于來說可能是一種比較高階的原則,但如果我們通過它來考量那些蘊(yùn)含在我們寫的選擇器中的邏輯性,那我們也許就能寫出更加優(yōu)秀的代碼。 本文在征得原作者 @csswizardry 同意的情況下,翻譯自他博客中的文章:Cyclomatic Complexity: Logic in CSS。最初發(fā)布于我的個人博客:咀嚼之...

    PiscesYE 評論0 收藏0
  • 檢測 PHP 應(yīng)用的代碼復(fù)雜度

    摘要:原文來自如果說你想知道一個項(xiàng)目的代碼復(fù)雜度是什么樣子的,我推薦你可以使用和來檢測一下。安裝也是可以直接全局安裝安裝完畢之后,可以這樣來運(yùn)行命令分析代碼復(fù)雜度等待運(yùn)行結(jié)束,用打開就可以查看相對應(yīng)的結(jié)果,大概是這個樣子 原文來自:https://www.codecasts.com/blo... 如果說你想知道一個 PHP 項(xiàng)目的代碼復(fù)雜度是什么樣子的,我推薦你可以使用 phploc 和 P...

    or0fun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<