本發明涉及代碼生成,尤其涉及一種代碼生成方法、裝置、電子設備、產品及存儲介質。
背景技術:
1、隨著信息技術的快速發展,自動化代碼生成技術在軟件開發領域變得越來越重要。這種技術關鍵在于預定義一系列規則和模板,以備需要之時使用。在業務應用開發或特定業務場景中,自動化代碼生成主要側重于通過獲取用戶輸入的文本信息,根據文本信息確定對應的業務場景模板,根據文本信息和業務場景模板生成代碼文件。這種技術能夠顯著降低軟件開發成本并提升開發效率。使用已有的模型模板來生成代碼,這些方法在標準化和相對簡單的業務流程中表現出色,為軟件開發人員提供了強有力的支持。
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、本發明提供的代碼生成方法、裝置、電子設備、產品及存儲介質,所述代碼生成方法通過將需求文檔輸入至圖神經網絡模型中,得到所述圖神經網絡模型輸出的業務流程圖,其中,所述業務流程圖包括頁面流程圖和服務流程圖中的至少一個;需求文檔被輸入至圖神經網絡模型,圖神經網絡模型能夠識別和學習需求文檔的業務流程中各元素之間的關系,自動構建出業務流程圖,而頁面流程圖和服務流程圖分別對應前端用戶界面和后端服務邏輯。獲取代碼生成策略,基于所述代碼生成策略和所述業務流程圖生成符合需求的流程代碼,其中,所述代碼生成策略為生成代碼期間需要遵循的規則,所述頁面流程圖用于生成前端代碼,所述服務流程圖用于生成后端代碼;該代碼策略定義了生成代碼期間需要遵循的規則和規范,基于業務流程圖和代碼生成策略,自動生成符合需求的流程代碼,減少了人工干預,大幅提升了開發效率,并且基于業務流程圖生成的代碼準確反映了實際業務需求,避免了傳統方法中因人工錯誤導致的代碼與需求不一致的問題,而圖神經網絡模型能夠處理復雜多變的業務流程,并且代碼生成策略可以靈活調整,以適應新場景和變化的業務需求。與傳統基于規則和模板的方法相比,本發明能夠更好地應對特殊要求和非常規流程,提高了生成代碼的效率和準確性。