<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
    主站蜘蛛池模板: 西西人体44rt高清亚洲| 亚洲国产精品丝袜在线观看| 亚洲日本中文字幕区| 99re8这里有精品热视频免费| 中文字幕亚洲不卡在线亚瑟| 和老外3p爽粗大免费视频| 国产日产亚洲系列最新| 国内精品99亚洲免费高清| 久久久久亚洲精品无码系列| 一级毛片免费毛片一级毛片免费| 亚洲精品国产成人99久久| 真实国产乱子伦精品免费| 亚洲国产成人精品无码一区二区| 久久精品免费一区二区喷潮| 亚洲精华液一二三产区| 午夜国产大片免费观看| free哆拍拍免费永久视频| 亚洲国产成人片在线观看无码| 一区二区三区观看免费中文视频在线播放| 久久综合日韩亚洲精品色| 最近免费中文在线视频| 亚洲色一区二区三区四区| 免费在线观看视频a| 久久青草免费91线频观看站街| 亚洲欧洲日产国码www| 青青青青青青久久久免费观看| 成在线人直播免费视频| 亚洲AV无码国产在丝袜线观看| 99爱在线精品免费观看| 国产亚洲精品AAAA片APP| 亚洲欧洲精品无码AV| 97免费人妻无码视频| 日韩免费在线中文字幕| 久久精品亚洲精品国产色婷| 国产成人免费片在线视频观看| 97在线视频免费公开视频| 亚洲第一男人天堂| 国产V亚洲V天堂A无码| 蜜桃视频在线观看免费网址入口| 一个人免费播放在线视频看片| 久久久久亚洲精品无码蜜桃|