本發(fā)明涉及信息處理,具體涉及一種基于ai的代碼審查方法、計(jì)算設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在軟件開發(fā)過程中,開發(fā)人員通常使用例如git等版本控制系統(tǒng)來管理代碼的不同版本。在版本控制系統(tǒng)中,合并(merge)是指代碼合并,具體是將一組文件中所發(fā)生的不同更改進(jìn)行整合的基礎(chǔ)操作。其中,在使用版本控制系統(tǒng)的過程中能夠建立不同的分支,允許不同的開發(fā)人員對(duì)同一組文件執(zhí)行新增、編輯等操作,需要合并這些協(xié)作的分支,整合所有的更改形成一份文件版本。為了便于發(fā)現(xiàn)代碼中潛在的錯(cuò)誤和漏洞、確保代碼質(zhì)量和功能性,在發(fā)起合并請(qǐng)求后,還需進(jìn)行代碼審查,在代碼審查通過后再執(zhí)行合并操作。在現(xiàn)有技術(shù)中,主要是通過人工來完成代碼審查,審查效率較低,且人工審查的過程和結(jié)果因人而異,容易出現(xiàn)審查疏漏的問題。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于ai的代碼審查方法、計(jì)算設(shè)備及存儲(chǔ)介質(zhì)。
2、根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于ai的代碼審查方法,該方法包括:
3、獲取與合并請(qǐng)求對(duì)應(yīng)的待合并代碼信息,對(duì)待合并代碼信息進(jìn)行解析,提取得到代碼變更內(nèi)容;
4、將代碼變更內(nèi)容與預(yù)設(shè)提示模板進(jìn)行拼接,得到提示信息,依據(jù)提示信息與ai模型進(jìn)行交互,得到代碼審核信息;
5、根據(jù)代碼審核信息,確定代碼審查結(jié)果。
6、根據(jù)本發(fā)明的另一方面,提供了一種計(jì)算設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線,處理器、存儲(chǔ)器和通信接口通過通信總線完成相互間的通信;
7、存儲(chǔ)器用于存放至少一可執(zhí)行指令,可執(zhí)行指令使處理器執(zhí)行以下操作:
8、獲取與合并請(qǐng)求對(duì)應(yīng)的待合并代碼信息,對(duì)待合并代碼信息進(jìn)行解析,提取得到代碼變更內(nèi)容;
9、將代碼變更內(nèi)容與預(yù)設(shè)提示模板進(jìn)行拼接,得到提示信息,依據(jù)提示信息與ai模型進(jìn)行交互,得到代碼審核信息;
10、根據(jù)代碼審核信息,確定代碼審查結(jié)果。
11、根據(jù)本發(fā)明實(shí)施例的又一方面,提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一可執(zhí)行指令,可執(zhí)行指令使處理器執(zhí)行如上述基于ai的代碼審查方法對(duì)應(yīng)的操作。
12、根據(jù)本發(fā)明提供的技術(shù)方案,將ai模型引入至代碼審查流程中,通過對(duì)與合并請(qǐng)求對(duì)應(yīng)的待合并代碼信息進(jìn)行解析,能夠便捷地提取得到代碼變更內(nèi)容;將代碼變更內(nèi)容與預(yù)設(shè)提示模板進(jìn)行拼接,得到提示信息,依據(jù)提示信息與ai模型進(jìn)行交互,通過ai模型完成代碼審查,不僅能夠確保代碼審查具有一致的審查標(biāo)準(zhǔn),實(shí)現(xiàn)了自動(dòng)化、規(guī)范化的代碼審查,避免出現(xiàn)由于人工審查疏忽而導(dǎo)致的漏審等問題,而且充分利用ai模型的語義理解能力,有效地提高了審查效率,減少了代碼審查中的人力投入。
13、上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
1.一種基于ai的代碼審查方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,所述獲取與合并請(qǐng)求對(duì)應(yīng)的待合并代碼信息進(jìn)一步包括:
3.根據(jù)權(quán)利要求1所述的方法,在所述對(duì)所述待合并代碼信息進(jìn)行解析,提取得到代碼變更內(nèi)容之后,所述方法還包括:
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,在所述將所述代碼變更內(nèi)容與預(yù)設(shè)提示模板進(jìn)行拼接,得到提示信息之前,所述方法還包括:
5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的方法,所述代碼審核信息包括:變更總結(jié)信息、文件變更列表和編碼建議信息。
6.根據(jù)權(quán)利要求5所述的方法,所述將所述代碼變更內(nèi)容與預(yù)設(shè)提示模板進(jìn)行拼接,得到提示信息,依據(jù)所述提示信息與ai模型進(jìn)行交互,得到代碼審核信息進(jìn)一步包括:
7.根據(jù)權(quán)利要求6所述的方法,所述文件變更列表是通過對(duì)各個(gè)文件的變更內(nèi)容進(jìn)行分類而得到的。
8.根據(jù)權(quán)利要求5-7任一項(xiàng)所述的方法,所述方法還包括:
9.一種計(jì)算設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線,所述處理器、所述存儲(chǔ)器和所述通信接口通過所述通信總線完成相互間的通信;
10.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一可執(zhí)行指令,所述可執(zhí)行指令使處理器執(zhí)行如權(quán)利要求1-8中任一項(xiàng)所述的基于ai的代碼審查方法對(duì)應(yīng)的操作。