<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    lyyb2001

    只是為方便自己找記錄而已
    posts - 57, comments - 27, trackbacks - 0, articles - 5
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理

    JDepend學(xué)習(xí)

    Posted on 2015-03-20 09:40 skycity 閱讀(216) 評(píng)論(0)  編輯  收藏 所屬分類: J2EE技術(shù)J2SE技術(shù)
    JDepend 一個(gè)開放源代碼的可以用來評(píng)價(jià)Java程序質(zhì)量的優(yōu)秀工具,它遍歷Java class的文件目錄,以Java包(package)為單位,為每一個(gè)包/類自動(dòng)生成 包的依賴程度,穩(wěn)定性,可靠度等的評(píng)價(jià)報(bào)告,根據(jù)這些報(bào)告,我們可以得到包或類之間的依賴關(guān)系,并分析出包的穩(wěn)定程度,抽象程度,是否存在循環(huán)依賴關(guān)系 等。
    我們可以根據(jù)JDepend給出的報(bào)告數(shù)據(jù),分析出我們的包是否是可靠的,穩(wěn)定的,健壯的包,是否符合面向?qū)ο蟮脑O(shè)計(jì)原則。
    JDepend 一個(gè)開放源代碼的可以用來評(píng)價(jià)Java程序質(zhì)量的優(yōu)秀工具,它遍歷Java class的文件目錄,以Java包(package)為單位,為每一個(gè)包/類自動(dòng)生成 包的依賴程度,穩(wěn)定性,可靠度等的評(píng)價(jià)報(bào)告,根據(jù)這些報(bào)告,我們可以得到包或類之間的依賴關(guān)系,并分析出包的穩(wěn)定程度,抽象程度,是否存在循環(huán)依賴關(guān)系 等。
    我們可以根據(jù)JDepend給出的報(bào)告數(shù)據(jù),分析出我們的包是否是可靠的,穩(wěn)定的,健壯的包,是否符合面向?qū)ο蟮脑O(shè)計(jì)原則。
    一個(gè)具有穩(wěn)定性,擴(kuò)展性,可維護(hù)性的軟件系統(tǒng)要求系統(tǒng)設(shè)計(jì)遵循面向?qū)ο蟮脑O(shè)計(jì)原則。一般來說,面向?qū)ο蟮脑O(shè)計(jì)原則要求滿足高聚合,低耦合,禁止循環(huán)依賴等基本原則。
    JDepend生成的Java包的質(zhì)量評(píng)價(jià)報(bào)告主要包括:
    Number of Classes and Interfaces(TC):實(shí)現(xiàn)類與抽象接口的數(shù)目
    CC:包內(nèi)具體的實(shí)現(xiàn)類的數(shù)目
    AC:包內(nèi)抽象類和接口類的數(shù)目
    Abstractness (A):包的抽象度。指一個(gè)包內(nèi)包含的抽象類或接口占整個(gè)包中的類的比重。即A=AC/TC,該值處于0,1之間,若A=0,說明包內(nèi)不包含任何抽象類或接口;若A=1,說明包內(nèi)全部是抽象類或接口。
    Efferent Couplings (Ce):離心耦合。被該包依賴的外部包的數(shù)目(i.e. outgoing dependencies),該數(shù)值越大,說明該包越不獨(dú)立(因?yàn)橐蕾嚵藙e的包),也越不穩(wěn)定。
    Afferent Couplings (Ca):向心耦合。依賴該包(包含的類)的外部包(類)的數(shù)目(i.e. incoming dependencies),該數(shù)值越大,說明該包的擔(dān)當(dāng)?shù)穆氊?zé)越大,也就越穩(wěn)定。
    Instability (I):衡量一個(gè)包的不穩(wěn)定程度。I=Ce/(Ce+Ca)。它的值處于[0,1]之間。I=0時(shí),沒有依賴外部包,此時(shí)包是最穩(wěn)定的,反之I=1,沒有外部依賴“我”,則說明包極不穩(wěn)定。
    Distance from the Main Sequence (D): 該指標(biāo)主要用來評(píng)價(jià)包的抽象程度與穩(wěn)定程度的平衡關(guān)系,它可以用二維直線圖 A + I = 1 來表示。D=abs((A + I) - 1),也就是說D為 一個(gè)包的抽象度 + 包的不穩(wěn)定程度 - 1 的絕對(duì)值。一個(gè)理想的包是:完全抽象的(A=1,I=0),非常穩(wěn)定的(I=0),這時(shí)D=0;或者是:完全具體類構(gòu)成的包(A=0,I=1),非常不穩(wěn)定的 (I=1),這時(shí)同樣也有D=0。D=0說明包的抽象程度與穩(wěn)定程度是平衡的,反之D=1說明包的平衡程度被嚴(yán)重破壞。D值越大,越需要受到關(guān)注。                                       
    面向的設(shè)計(jì)原則之一The Stable Abstractions Principle (SAP):穩(wěn)定抽象等價(jià)原則指出了包的穩(wěn)定程度與它的抽象程度(接口的數(shù)目)成正比,也就是說,一個(gè)包內(nèi)包含的接口所占的比重越大,這個(gè)包就越穩(wěn)定。


    Lyyb2001
    主站蜘蛛池模板: 亚洲综合日韩久久成人AV| 亚洲国产免费综合| 四虎永久免费地址在线网站| 九九免费精品视频在这里| 亚洲国产精品无码专区在线观看| 成人久久久观看免费毛片| 精品免费国产一区二区三区| 中文字幕在线免费观看视频| 亚洲精品国产第1页| 四虎永久免费观看| 最近免费字幕中文大全视频| 亚洲国产高清视频| 日本不卡免费新一二三区| A片在线免费观看| 亚洲国产精品成人久久| 在线观看免费为成年视频| 亚洲中文无码永久免| 亚洲精品无码精品mV在线观看| 免费网站观看WWW在线观看| 2020天堂在线亚洲精品专区| 久久精品网站免费观看| 国产视频精品免费视频| 亚洲第一极品精品无码久久| 免费观看a级毛片| 67194国产精品免费观看| 又硬又粗又长又爽免费看 | 亚洲娇小性xxxx色| 亚洲午夜激情视频| 成人免费看片又大又黄| 99在线观看精品免费99| 亚洲成AV人片久久| 亚洲中文字幕无码中文字在线| 成人毛片免费网站| 每天更新的免费av片在线观看 | 99久久这里只精品国产免费| 中文字幕无线码免费人妻| 美女一级毛片免费观看| 亚洲中文字幕无码久久综合网| 噜噜嘿在线视频免费观看| 久久午夜夜伦鲁鲁片免费无码影视| 成人午夜影视全部免费看|