本發(fā)明涉及計(jì)算機(jī)軟件技術(shù),尤其涉及一種代碼評(píng)分方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在軟件開(kāi)發(fā)的過(guò)程中,通常需要多個(gè)部門(mén)多個(gè)開(kāi)發(fā)人員按照不同的職能編寫(xiě)軟件不同部分的代碼,而不同的開(kāi)發(fā)人員可能有不同的編碼習(xí)慣以及編碼喜好,這導(dǎo)致最終得到的不同部分的代碼可能存在不同的編碼風(fēng)格,包括不同的編碼格式、編碼結(jié)構(gòu)等等。這導(dǎo)致機(jī)器在執(zhí)行代碼時(shí)需要對(duì)不同的編碼風(fēng)格進(jìn)行理解,也就是代碼的執(zhí)行復(fù)雜度較高,使得機(jī)器在執(zhí)行代碼時(shí)需要消耗較多資源
2、另外,在軟件開(kāi)發(fā)結(jié)束后,通常需要開(kāi)會(huì)對(duì)代碼進(jìn)行復(fù)盤(pán)(review),以對(duì)代碼進(jìn)行評(píng)價(jià),十分耗時(shí)耗力。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明實(shí)施例提供了一種代碼評(píng)分方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì),以降低代碼的執(zhí)行復(fù)雜度以及提高代碼評(píng)價(jià)效率。
2、根據(jù)本發(fā)明的一方面,提供了一種代碼評(píng)分方法,所述方法包括:
3、獲取目標(biāo)代碼;
4、按照預(yù)設(shè)評(píng)分標(biāo)準(zhǔn)對(duì)所述目標(biāo)代碼進(jìn)行評(píng)分,其中,所述預(yù)設(shè)評(píng)分標(biāo)準(zhǔn)基于預(yù)設(shè)代碼規(guī)范設(shè)置,所述預(yù)設(shè)評(píng)分標(biāo)準(zhǔn)包括多個(gè)維度,所述維度包括代碼格式、代碼邏輯以及代碼時(shí)間復(fù)雜度;
5、基于多個(gè)所述維度的評(píng)分,確定所述目標(biāo)代碼的目標(biāo)評(píng)分。
6、在一種可能的實(shí)施例中,所述代碼邏輯為代碼包含的判斷條件是否完整。
7、在一種可能的實(shí)施例中,所述按照預(yù)設(shè)評(píng)分標(biāo)準(zhǔn)對(duì)所述目標(biāo)代碼進(jìn)行評(píng)分,包括:
8、按照預(yù)設(shè)評(píng)分標(biāo)準(zhǔn),確定所述目標(biāo)代碼的扣分值;
9、所述基于多個(gè)所述維度的評(píng)分,確定所述目標(biāo)代碼的目標(biāo)評(píng)分,包括:
10、基于預(yù)設(shè)總分以及所述目標(biāo)代碼的扣分值,確定所述目標(biāo)代碼的目標(biāo)評(píng)分。
11、在一種可能的實(shí)施例中,所述維度還包括:是否為預(yù)設(shè)核心代碼,
12、所述基于多個(gè)所述維度的評(píng)分,確定所述目標(biāo)代碼的目標(biāo)評(píng)分,包括:
13、在所述目標(biāo)代碼為預(yù)設(shè)核心代碼的情況下,按照針對(duì)所述預(yù)設(shè)核心代碼預(yù)設(shè)的權(quán)重對(duì)多個(gè)所述維度的評(píng)分進(jìn)行加權(quán)計(jì)算,確定所述目標(biāo)代碼的目標(biāo)評(píng)分。
14、在一種可能的實(shí)施例中,所述獲取目標(biāo)代碼,包括:
15、通過(guò)代碼編輯器中的插件,按照預(yù)設(shè)時(shí)間間隔獲取所述代碼編輯器中的靜態(tài)代碼,作為目標(biāo)代碼。
16、在一種可能的實(shí)施例中,所述方法還包括:
17、基于所述多個(gè)維度,標(biāo)注所述目標(biāo)代碼中不符合所述預(yù)設(shè)代碼規(guī)范的部分并顯示。
18、根據(jù)本發(fā)明的另一方面,提供了一種代碼評(píng)分系統(tǒng),所述系統(tǒng)包括:
19、獲取模塊,用于獲取目標(biāo)代碼;
20、評(píng)分模塊,用于按照預(yù)設(shè)評(píng)分標(biāo)準(zhǔn)對(duì)所述目標(biāo)代碼進(jìn)行評(píng)分,其中,所述預(yù)設(shè)評(píng)分標(biāo)準(zhǔn)基于預(yù)設(shè)代碼規(guī)范設(shè)置,所述預(yù)設(shè)評(píng)分標(biāo)準(zhǔn)包括多個(gè)維度,所述維度包括代碼格式、代碼邏輯以及代碼時(shí)間復(fù)雜度;
21、確定模塊,用于基于多個(gè)所述維度的評(píng)分,確定所述目標(biāo)代碼的目標(biāo)評(píng)分。
22、在一種可能的實(shí)施例中,所述維度還包括:是否為預(yù)設(shè)核心代碼,
23、所述基于多個(gè)所述維度的評(píng)分,確定所述目標(biāo)代碼的目標(biāo)評(píng)分,包括:
24、在所述目標(biāo)代碼為預(yù)設(shè)核心代碼的情況下,按照針對(duì)所述預(yù)設(shè)核心代碼預(yù)設(shè)的權(quán)重對(duì)多個(gè)所述維度的評(píng)分進(jìn)行加權(quán)計(jì)算,確定所述目標(biāo)代碼的目標(biāo)評(píng)分。
25、根據(jù)本發(fā)明的另一方面,提供了一種電子設(shè)備,包括:
26、處理器;以及
27、存儲(chǔ)程序的存儲(chǔ)器,
28、其中,所述程序包括指令,所述指令在由所述處理器執(zhí)行時(shí)使所述處理器執(zhí)行上述任一所述的代碼評(píng)分方法。
29、根據(jù)本發(fā)明的另一方面,提供了一種存儲(chǔ)有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述任一所述的代碼評(píng)分方法。
30、本發(fā)明實(shí)施例中提供的一個(gè)或多個(gè)技術(shù)方案,通過(guò)設(shè)置統(tǒng)一的代碼規(guī)范,從多個(gè)維度對(duì)目標(biāo)代碼進(jìn)行評(píng)分,從而可以篩選出不符合規(guī)范的代碼,得到符合規(guī)范的各代碼,由于各代碼符合統(tǒng)一規(guī)范,減少了由于各代碼規(guī)范不統(tǒng)一所額外消耗的機(jī)器資源,降低了代碼的執(zhí)行復(fù)雜度,節(jié)省機(jī)器資源消耗。另外,通過(guò)自動(dòng)對(duì)代碼進(jìn)行評(píng)分,降低代碼復(fù)盤(pán)所需消耗的人力以及時(shí)間,提高代碼評(píng)價(jià)效率。
1.一種代碼評(píng)分方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述代碼邏輯為代碼包含的判斷條件是否完整。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述按照預(yù)設(shè)評(píng)分標(biāo)準(zhǔn)對(duì)所述目標(biāo)代碼進(jìn)行評(píng)分,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述維度還包括:是否為預(yù)設(shè)核心代碼,
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取目標(biāo)代碼,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
7.一種代碼評(píng)分系統(tǒng),其特征在于,所述系統(tǒng)包括:
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述維度還包括:是否為預(yù)設(shè)核心代碼,
9.一種電子設(shè)備,包括:
10.一種存儲(chǔ)有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的方法。