版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、代碼壞味是指代碼中存在的一種不良現(xiàn)象。代碼壞味會(huì)降低程序的設(shè)計(jì)質(zhì)量,使得程序難于理解、修改和重用。因此需要對(duì)代碼壞味進(jìn)行檢測(cè)。代碼壞味檢測(cè)的結(jié)果有助于程序設(shè)計(jì)質(zhì)量的評(píng)價(jià),同時(shí)也是對(duì)代碼壞味進(jìn)行修改的必要基礎(chǔ)。在檢測(cè)到代碼壞味后,對(duì)其進(jìn)行重構(gòu),在保證程序可觀察行為不變的前提下,去除代碼壞味,提高程序的可理解性和可擴(kuò)展性,進(jìn)而提高程序的整體設(shè)計(jì)質(zhì)量。
本文針對(duì)類間過度耦合壞味、類設(shè)計(jì)內(nèi)聚性相關(guān)壞味、過大的類壞味,提取壞味的特征,將
2、壞味特征轉(zhuǎn)化為度量值,進(jìn)而根據(jù)度量值的計(jì)算結(jié)果判斷程序中是否存在壞味,完成壞味的檢測(cè)研究。針對(duì)檢測(cè)出的壞味結(jié)果進(jìn)行重構(gòu)分析,并且最終實(shí)現(xiàn)對(duì)重構(gòu)收益進(jìn)行評(píng)估。經(jīng)過壞味檢測(cè)和重構(gòu)分析的研究工作,分析壞味情況并對(duì)壞味進(jìn)行消除,最終達(dá)到提高程序設(shè)計(jì)質(zhì)量的目的。
對(duì)于現(xiàn)有程序中類間過度耦合、繼承關(guān)系混亂的不良現(xiàn)象,將其命名為類間過度耦合(Classes Over-Couple,簡稱COC)。這種類間過度耦合代碼壞味能夠準(zhǔn)確表達(dá)代碼中存在
3、的類間過度耦合、繼承關(guān)系混亂的壞味現(xiàn)象,基于實(shí)體依賴關(guān)系計(jì)算的壞味檢測(cè)工具COC Detector,能夠完成COC壞味的檢測(cè)工作。通過面向?qū)ο笤O(shè)計(jì)質(zhì)量評(píng)估模型(Quality Model of Object Oriented Design,簡稱QMOOD)進(jìn)行計(jì)算和分析,基于實(shí)體依賴關(guān)系計(jì)算的壞味檢測(cè)方法和重構(gòu)分析,能夠提高程序的可理解性和可擴(kuò)展性,有效改善程序的質(zhì)量。
對(duì)類設(shè)計(jì)中由于類內(nèi)內(nèi)聚性低導(dǎo)致的代碼壞味進(jìn)行分析和研究,
4、提出了基于距離度量和聚類分析的代碼壞味檢測(cè)方法,該方法能夠?qū)σ缿偾榻Y(jié)和發(fā)散式變化等壞味進(jìn)行檢測(cè),并通過重構(gòu)分析驗(yàn)證其檢測(cè)結(jié)果。針對(duì)依戀情節(jié)等類內(nèi)內(nèi)聚性低、類間耦合性高引發(fā)的壞味,基于原有檢測(cè)方法沒有考慮多次調(diào)用關(guān)系導(dǎo)致檢測(cè)準(zhǔn)確率低的現(xiàn)象,采用基于權(quán)重的距離度量方法進(jìn)行壞味檢測(cè)的研究。提出基于權(quán)重距離度量的壞味檢測(cè)方法,對(duì)檢測(cè)出的壞味進(jìn)行合理有效的重構(gòu)分析。K近鄰聚類方法的劃分結(jié)果,既可以判斷是否存在壞味,也能做為重構(gòu)的依據(jù)。基于距離度量
5、和K近鄰聚類分析的壞味檢測(cè)方法,能夠準(zhǔn)確檢測(cè)到其他檢測(cè)工具檢測(cè)不到的發(fā)散式變化代碼壞味。通過版本比對(duì)技術(shù),分析實(shí)際版本的重構(gòu)結(jié)果,來驗(yàn)證本文提出的壞味檢測(cè)結(jié)果是否正確。
對(duì)過大的類代碼壞味進(jìn)行檢測(cè)和重構(gòu)的分析和研究。首先對(duì)開源的面向?qū)ο蟪绦蛑蓄惖囊?guī)模分布情況進(jìn)行統(tǒng)計(jì)分析,通過實(shí)驗(yàn)研究發(fā)現(xiàn)類長度的分布規(guī)律。然后,在該規(guī)律基礎(chǔ)上建立了一個(gè)類長度分布模型,來完成過大的類等壞味的檢測(cè)并進(jìn)行重構(gòu)分析。在類長度分布模型中,偏離分布規(guī)律曲線
6、的分組,被認(rèn)為含有潛在的代碼壞味;然后通過計(jì)算并比較分組內(nèi)類的內(nèi)聚性度量,能夠確定存在過大的類代碼壞味;使用凝聚聚類方法,得到壞味檢測(cè)結(jié)果的重構(gòu)操作。實(shí)驗(yàn)結(jié)果表明,通過對(duì)開源程序使用類長度分布模型進(jìn)行過大的類壞味檢測(cè),本文方法的準(zhǔn)確率高于現(xiàn)有使用固定閾值的壞味檢測(cè)工具 PMD和Checkstyle。類長度分析模型對(duì)所檢測(cè)出的壞味進(jìn)行重構(gòu),經(jīng)過版本比對(duì)技術(shù)進(jìn)行重構(gòu)分析,驗(yàn)證壞味檢測(cè)結(jié)果。
針對(duì)重構(gòu)效果無法衡量的問題,研究了重構(gòu)行
7、為對(duì)收益和成本兩方面的影響,提出了基于重構(gòu)獲益的重構(gòu)評(píng)估方法。重構(gòu)評(píng)估準(zhǔn)則是指選擇重構(gòu)獲益更大的重構(gòu)操作進(jìn)行執(zhí)行。基于重構(gòu)獲益的重構(gòu)評(píng)估方法,從重構(gòu)改善程序質(zhì)量和重構(gòu)可能帶來未知風(fēng)險(xiǎn)兩方面來對(duì)重構(gòu)操作進(jìn)行分析,對(duì)重構(gòu)操作執(zhí)行的效果進(jìn)行量化度量,避免了重構(gòu)對(duì)程序質(zhì)量帶來的負(fù)面影響。實(shí)驗(yàn)結(jié)果表明,通過版本比對(duì)技術(shù),當(dāng)程序中出現(xiàn)了代碼壞味并確定了重構(gòu)操作后,重構(gòu)獲益超過閾值的重構(gòu)操作確實(shí)得到了執(zhí)行。將重構(gòu)收益評(píng)估方法與現(xiàn)有依賴關(guān)系方法、Pre
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于潛在語義分析的代碼壞味檢測(cè).pdf
- 基于代價(jià)敏感集成分類器的代碼壞味檢測(cè).pdf
- 基于軟件演化數(shù)據(jù)挖掘的代碼壞味道檢測(cè).pdf
- 軟件需求缺陷壞味道的檢測(cè)方法研究.pdf
- C冗余代碼及相關(guān)缺陷檢測(cè)方法研究.pdf
- 可重構(gòu)克隆代碼的過程提取方法研究.pdf
- 無定型克隆代碼檢測(cè)及重構(gòu)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 程序代碼相似度檢測(cè)方法研究及應(yīng)用.pdf
- 花椒麻味物質(zhì)的檢測(cè)方法研究.pdf
- 重構(gòu)中代碼味道自動(dòng)化檢測(cè)技術(shù)的研究.pdf
- 源代碼安全漏洞檢測(cè)方法研究.pdf
- 重復(fù)代碼檢測(cè)方法及其應(yīng)用.pdf
- 基于K-最近鄰的C克隆代碼重構(gòu)方法研究.pdf
- UHT純奶中奶味香精的分析與檢測(cè)方法的研究.pdf
- 多特征靜態(tài)惡意代碼檢測(cè)方法研究.pdf
- 自修改代碼逆向分析方法研究.pdf
- 基于行為的惡意代碼檢測(cè)方法研究.pdf
- 船姿船位測(cè)量系統(tǒng)故障檢測(cè)及重構(gòu)方法研究.pdf
- 網(wǎng)絡(luò)惡意代碼隱藏技術(shù)的分析及檢測(cè).pdf
- 可重構(gòu)溫度變送器設(shè)計(jì)及重構(gòu)方法研究.pdf
評(píng)論
0/150
提交評(píng)論