System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開涉及大語言模型,具體涉及一種代碼編寫糾錯方法、裝置。
技術介紹
1、在軟件開發過程中,編程人員需要編寫大量的代碼來實現特定的功能。然而,由于編輯速度快等一些原因,編程人員在代碼編寫過程中可能會出現鍵入錯誤,例如:在輸入代碼時不小心按錯鍵。這些錯誤不僅會打斷編程人員的工作思路,降低開發效率,還可能引入潛在的bug,影響程序的穩定性和可維護性。
2、而現有技術中,并無在代碼編寫的過程中檢測是否存在鍵入錯誤的有效手段。
技術實現思路
1、有鑒于此,本公開提出了一種代碼編寫糾錯方法、裝置,以解決現有技術中存在的由于鍵入錯誤導致降低開發效率、影響程序穩定性以及可維護性等問題。
2、本公開第一方面實施例提出了一種代碼編寫糾錯方法,所述方法包括:
3、響應于代碼輸入操作,將代碼補全模型輸出的補全代碼與實時輸入的目標代碼進行比較;
4、如果所述補全代碼與所述目標代碼不同,檢測所述補全代碼中與所述目標代碼中不匹配的字符對應的鍵值是否滿足預設位置條件,所述不匹配的字符是指在所述補全代碼中的字符位置與所述第二字符在所述目標代碼中的字符位置相同,但內容不同的字符;
5、若所述不匹配的字符對應的鍵值在鍵盤上的位置滿足所述預設位置條件,則將所述目標代碼作為待糾錯代碼;
6、利用所述第一字符對所述待糾錯代碼進行糾錯處理,得到糾錯后的目標代碼。
7、本公開實施例通過將代碼補全模型輸出的補全代碼與實時輸入的目標代碼進行比較,以
8、在本公開實施例中,所述檢測所述補全代碼中與所述目標代碼中不匹配的字符對應的鍵值是否滿足預設位置條件,包括:
9、從所述補全代碼中確定出第一字符,以及從所述目標代碼中確定出第二字符,所述第一字符在所述補全代碼中的字符位置與所述第二字符在所述目標代碼中的字符位置相同,但內容不同;
10、確定所述第一字符對應的鍵值在鍵盤上的第一位置與所述第二字符對應的鍵值在鍵盤上的第二位置是否滿足所述預設位置條件。
11、在本公開實施例中,所述預設位置條件包括:所述第一位置與所述第二位置相同或者相鄰。
12、本公開實施例通過對預設位置條件進行限定,即第一位置與所述第二位置相同或者相鄰,能夠準確判斷出代碼編寫過程中所出現的錯誤是否為鍵入錯誤,提高了鍵入錯誤的判斷準確率。
13、在本公開實施例中,利用所述第一字符對所述待糾錯代碼進行糾錯處理,得到糾錯后的目標代碼,包括:
14、使用所述第一字符替換待糾錯代碼中的第二字符,生成所述糾錯后的目標代碼。
15、在本公開實施例中,所述方法還包括:
16、當得到所述糾錯后的目標代碼后,向用戶端發送糾錯撤銷提示信息;
17、如果接收到所述用戶端發來的糾錯撤銷指令,則使用所述第二字符替換所述糾錯后的目標代碼中的第一字符,得到所述目標代碼。
18、本公開實施例通過在得到糾錯后的目標代碼后,向用戶端發送糾錯撤銷提示信息,以及在接收到用戶端發來的糾錯撤銷指令后,使用第二字符替換糾錯后的目標代碼中的第一字符,得到目標代碼,便于用戶了解當前發生的變化,提高了用戶體驗;允許用戶撤銷之前的糾錯操作,恢復到糾錯前的狀態,這為用戶提供了靈活性,允許他們重新考慮之前的決策。
19、在本公開實施例中,所述方法還包括:
20、獲取多個源代碼;
21、針對所述多個源代碼中的任意一個源代碼,對所述源代碼進行分詞處理,生成與所述源代碼對應的字符序列,得到與所述多個源代碼一一對應的多個字符序列;
22、根據所述多個字符序列,對初始模型進行訓練,得到所述代碼補全模型。
23、在本公開實施例中,根據所述多個字符序列,對初始模型進行訓練,得到所述代碼補全模型,包括:
24、針對所述多個字符序列中任意一個字符序列,隨機將所述字符序列中的部分字符序列進行刪除,得到目標字符序列;
25、確定被刪除字符序列在所述目標字符序列的目標位置;
26、根據所述目標位置,從所述目標字符序列中確定出第一字符序列和第二字符序列;所述第一字符序列表示所述目標字符序列的目標位置前序部分的字符序列,所述第二字符序列表示所述目標字符序列的目標位置后序部分的字符序列;
27、訓練所述初始模型根據所述第一字符序列和所述第二字符序列,預測所述被刪除字符序列。
28、本公開實施例通過目標位置,從目標字符序列中確定出第一字符序列和第二字符序列,并訓練初始模型根據第一字符序列和第二字符序列,預測被刪除字符序列,能夠使模型考慮代碼的前序和后續的上下文,以更好地理解代碼的邏輯流程和結構,從而優化模型性能,達到提高補全結構的預測準確性的目的。
29、在本公開實施例中,在訓練所述初始模型根據所述第一字符序列和所述第二字符序列,預測所述被刪除字符序列之后,所述方法還包括:
30、將任意一個目標字符序列所對應的第一字符序列和第二字符序列輸入至所述初始模型中,得到所述初始模型輸出的補全字符序列;
31、如果所述補全字符序列與所述任意一個目標字符序列中的被刪除字符序列相同,則將所述初始模型確定為所述代碼補全模型。
32、在本公開實施例中,所述方法還包括:
33、如果所述補全字符序列與所述任意一個目標字符序列中的被刪除字符序列不同,則根據與所述多個源代碼一一對應的多個字符序列,對所述初始模型進行模型優化。
34、本公開第二方面的實施例提供了一種代碼編寫糾錯裝置,包括:
35、代碼比較模塊,用于響應于代碼輸入操作,將代碼補全模型輸出的補全代碼與實時輸入的目標代碼進行比較;
36、條件判斷模塊,用于如果所述補全代碼與所述目標代碼不同,檢測所述補全代碼中與所述目標代碼中不匹配的字符對應的鍵值是否滿足預設位置條件,所述不匹配的字符是指在所述補全代碼中的字符位置與所述第二字符在所述目標代碼中的字符位置相同,但內容不同的字符;
37、待糾錯代碼確定模塊,用于若所述不匹配的字符對應的鍵值在鍵盤上的位置滿足所述預設位置條件,則將所述目標代碼作為待糾錯代碼;
38、代碼糾錯模塊,用于利用所述第一字符對所述待糾錯代碼進行糾錯處理,得到糾錯后的目標代碼。
39、本公開第三方面的實施例提供了一種計算機設備,該計算機設備包括存儲器和處理器,所述存儲器和所述處理器之間互相通信連接,所述存儲器中存儲有計算機指令,所述處理器通過執行所述計算機指令,從而執行上述第一方面所述的代碼編寫糾錯方法。
40、本公開第四方面的實施例提供了本文檔來自技高網...
【技術保護點】
1.一種代碼編寫糾錯方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述檢測所述補全代碼中與所述目標代碼中不匹配的字符對應的鍵值是否滿足預設位置條件,包括:
3.根據權利要求2所述的方法,其特征在于,所述預設位置條件包括:所述第一位置與所述第二位置相同或者相鄰。
4.根據權利要求1或2所述的方法,其特征在于,利用所述第一字符對所述待糾錯代碼進行糾錯處理,得到糾錯后的目標代碼,包括:
5.根據權利要求1或2所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1或2所述的方法,其特征在于,所述方法還包括:
7.根據權利要求6所述的方法,其特征在于,根據所述多個字符序列,對初始模型進行訓練,得到所述代碼補全模型,包括:
8.根據權利要求7所述的方法,其特征在于,在訓練所述初始模型根據所述第一字符序列和所述第二字符序列,預測所述被刪除字符序列之后,所述方法還包括:
9.根據權利要求8所述的方法,其特征在于,所述方法還包括:
10.一種代碼編寫糾錯裝
...【技術特征摘要】
1.一種代碼編寫糾錯方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述檢測所述補全代碼中與所述目標代碼中不匹配的字符對應的鍵值是否滿足預設位置條件,包括:
3.根據權利要求2所述的方法,其特征在于,所述預設位置條件包括:所述第一位置與所述第二位置相同或者相鄰。
4.根據權利要求1或2所述的方法,其特征在于,利用所述第一字符對所述待糾錯代碼進行糾錯處理,得到糾錯后的目標代碼,包括:
5.根據權利要求1或2所述的方法,其特征在于,所述...
【專利技術屬性】
技術研發人員:蔣思源,李戈,劉洋,
申請(專利權)人:北京硅心科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。