天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 科技論文 > 軟件論文 >

Git倉庫代碼演化過程中的注解定位技術(shù)研究

發(fā)布時間:2020-11-10 09:24
   在團隊協(xié)作開發(fā)過程中,開發(fā)成員在向Git倉庫提交代碼時,可能需要在不改變源代碼內(nèi)容和結(jié)構(gòu)的情況下對代碼添加一些注解,備注修改緣由,便于項目負責(zé)人審核。同時,也希望開發(fā)成員可以對代碼中難以理解、易混淆的核心業(yè)務(wù)邏輯添加圖片、偽算法和超鏈接等復(fù)雜的注解,并可以將歷史注解自動重新定位到新版本文件中對應(yīng)的代碼位置,實現(xiàn)一次注解,永久有效。目前,在軟件開發(fā)過程中,代碼中經(jīng)常出現(xiàn)不添加注釋、注釋不規(guī)范等問題,導(dǎo)致代碼冗余和結(jié)構(gòu)混亂,降低了源代碼的可讀性和程序的可維護性。而且,國內(nèi)外比較流行的代碼托管平臺GitHub或者Git@OSC本身并沒有提供一種非侵入式、可重定位的代碼注解功能,無法解決上述可能出現(xiàn)的問題。同時對使用代碼托管平臺Gitplex的企業(yè)合作用戶進行訪問調(diào)查,結(jié)果表明項目負責(zé)人一致認同此功能。基于上述問題和需求,本文基于Git倉庫的歷史記錄和修訂追蹤功能,提出了一種字符串轉(zhuǎn)換的文本diff注解定位技術(shù)。首先使用字符串前綴匹配算法、后綴匹配算法對倉庫中的兩個歷史版本文件進行文本diff標記。同時將行級字符串轉(zhuǎn)換為一個char類型字符,提高文本diff的性能和注解定位的準確性;使用局部性原理矯正注解定位可能出現(xiàn)的定位錯誤;使用緩存技術(shù)提高文本diff的性能。最后,本文制定了對比實驗方案,驗證四種注解定位技術(shù)的性能優(yōu)異。大量的實驗結(jié)果表明,本文研究的注解定位技術(shù)在運行時間和正確率兩方面上的性能更優(yōu)異。目前,該注解定位技術(shù)已經(jīng)應(yīng)用在基于代碼托管平臺Gitplex開發(fā)的注解系統(tǒng)中,運行良好,性能優(yōu)異。
【學(xué)位單位】:南京郵電大學(xué)
【學(xué)位級別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP311.52
【部分圖文】:

原理圖,原理圖,倉庫,文件


和已提交(Unmodify)。未追蹤表示 Git 倉庫文件夾中的文件沒有提交到倉庫中,無法進行版本管理;已修改表示該文件已經(jīng)修改,可以使用 git add 命令添加到暫時緩存區(qū),或者使用 gitcheckout 命令放棄已修改的內(nèi)容,還原到已提交狀態(tài);已暫存表示已經(jīng)使用 git add 命令添加到暫時緩存區(qū),如果使用 commit 命令將提交到本地倉庫;已提交表示該文件與本地倉庫中的文件狀態(tài)一致,沒有被修改。2.3.3 提交原理每向 Git 倉庫提交(commit)一次就完整復(fù)制一次項目中的每個文件,所以可以查看或者回退到任何一個歷史版本而不會丟失任何數(shù)據(jù)。如果提交變更的文件時,會為該文件生成一個新的 Blob 對象,并將其保存到倉庫中,同時會為該文件生成一個唯一的 SHA-1 校驗和,并將其指向該文件。對于已提交(Unmodify)的文件,直接使用當(dāng)前歷史版本的 SHA-1 校驗和指向該文件。下圖 2.4 詳細展示了版本控制系統(tǒng) Git 的提交原理。

系統(tǒng)效果


注解定位技術(shù)分析與評估注解定位技術(shù)主要涉及兩個核心概念,一個是注解,與注解系統(tǒng)有關(guān);另外一個是定位,與文本匹配技術(shù)有關(guān)。本章節(jié)將會介紹并分析討論與上述兩大核心概念相關(guān)的背景知識。2.5.1 注解系統(tǒng)注解系統(tǒng)是一個依托于代碼托管服務(wù)平臺的第三方系統(tǒng),主要用于提供非侵入式、可自動重定位的注解功能。該系統(tǒng)目前主要有注解添加、注解重定位和注解內(nèi)容可視化三大功能。該系統(tǒng)的注解添加功能十分強大,提供了多種注解內(nèi)容添加方式,包括偽算法、圖片和超鏈接等。注解系統(tǒng)界面簡潔、操作簡單,可以十分方便地實現(xiàn)非侵入式注解功能。目前,該系統(tǒng)已經(jīng)應(yīng)用在代碼托管服務(wù)平臺 Gitplex 上面,運行狀況良好,性能優(yōu)異。下圖 2.2 是截取了部分注解系統(tǒng)與 Gitplex 集成后的界面顯示效果圖。

流程圖,流程圖,定位技術(shù)


上一章的 2.5 章節(jié)中對三種注解定位技術(shù)進行了分析與評估,了解到它們本身都有各自的局限性,因而無法將它們應(yīng)用到注解系統(tǒng)生產(chǎn)環(huán)境中,將代碼演化過程中歷史版本文件中的注解重新定位到新版本文件中的對應(yīng)代碼位置上。故而在本章節(jié)中,我們提出了一種基于字符串轉(zhuǎn)換的文本 diff 注解定位技術(shù),它不僅解決了上一章節(jié)中基于正則表達式的注解定位技術(shù)和基于編程語言循環(huán)語法的注解定位技術(shù)因沒有進行上下語義匹配導(dǎo)致注解重定位錯誤的問題,同樣解決了基于 google-diff-match-patch 的注解定位技術(shù)因 diff 標記結(jié)果分析復(fù)雜導(dǎo)致錯誤率較高的問題。總體概覽本章節(jié)首先從注解定位的整體執(zhí)行過程介紹基于字符串轉(zhuǎn)換的文本 diff 注解定位技術(shù),讓大家對該技術(shù)有一個總體認識,然后將介紹該技術(shù)核心業(yè)務(wù)邏輯中的核心算法。具體執(zhí)行流程圖如圖 3.1 所示:
【參考文獻】

相關(guān)期刊論文 前2條

1 王偉;劉淵;張春瑞;文平;謝家俊;;上下文不一致性缺陷的檢測[J];計算機科學(xué);2015年S1期

2 柳廳文;孫永;卜東波;郭莉;方濱興;;正則表達式分組的1/(1-1/k)-近似算法[J];軟件學(xué)報;2012年09期


相關(guān)碩士學(xué)位論文 前1條

1 姜英杰;支持正則表達式的文本匹配優(yōu)化算法[D];東北大學(xué);2012年



本文編號:2877771

資料下載
論文發(fā)表

本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/2877771.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶ee4e8***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com