System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開涉及計算機,尤其涉及一種代碼生成方法和裝置。
技術介紹
1、目前,為了減少軟件開發成本,可以將業務需求進行轉換,以生成代碼,通常,是通過設計模型(如統一建模語言,unified?modeling?language)將業務需求進行轉換,以生成程序代碼,然而,這種方法生成的代碼,一般只能生成基礎的接口和類,并不能完全滿足業務需求,仍然還需要開發人員進行大量的手工編碼工作,以及還需要在目標業務場景中進行修改、測試以及集成,從而造成大量復雜且繁瑣的開發工作,影響軟件開發的進度。
技術實現思路
1、本公開提供一種代碼生成方法和裝置,以至少在一定程度上解決相關技術中的技術問題之一。本公開的技術方案如下:
2、根據本公開實施例的第一方面,提供一種代碼生成方法,包括:獲取目標業務場景下的目標業務模型;基于所述目標業務模型,通過預先設置的代碼工程腳手架,以生成初始源代碼以及在微服務架構中業務服務層級的代碼;根據在所述微服務架構中所述業務服務層級的代碼,生成與所述業務服務層級的代碼相關聯的服務配置文件,其中,所述服務配置文件用于表示執行所述微服務架構中所述業務服務層級的代碼時所加載的文件;將在所述微服務架構中的所述業務服務層級的代碼以及所述服務配置文件封裝進所述初始源代碼中,以確定可執行的用于滿足所述目標業務模型的目標源代碼。
3、根據本公開實施例的第二方面,提供了一種代碼生成裝置,包括:第一獲取模塊,用于獲取目標業務場景下的目標業務模型;第一生成模塊,用于基于所述目標業
4、根據本公開實施例的第三方面,提供一種電子設備,包括:處理器;用于存儲所述處理器可執行指令的存儲器;其中,所述處理器被配置為執行所述指令,以實現如本公開第一方面實施例所述的代碼生成方法。
5、根據本公開實施例的第四方面,提供一種計算機可讀存儲介質,當所述計算機可讀存儲介質中的指令由電子設備的處理器執行時,使得電子設備能夠執行如本公開第一方面實施例所述的代碼生成方法。
6、根據本公開實施例的第五方面,提供一種計算機程序產品,包括:計算機程序,所述計算機程序被處理器執行時實現如本公開第一方面實施例所述的代碼生成方法。
7、本公開的實施例提供的技術方案至少帶來以下有益效果:
8、在本技術方案中,獲取目標業務場景下的目標業務模型;基于目標業務模型,通過預先設置的代碼工程腳手架,以生成初始源代碼以及在微服務架構中業務服務層級的代碼;根據在微服務架構中業務服務層級的代碼,生成與業務服務層級的代碼相關聯的服務配置文件,其中,服務配置文件用于表示執行微服務架構中業務服務層級的代碼時所加載的文件;將在微服務架構中的業務服務層級的代碼以及服務配置文件封裝進初始源代碼中,以確定可執行的用于滿足目標業務模型的目標源代碼,由此,基于目標業務模型,通過預先設置的代碼工程腳手架,由于在代碼工程腳手架中包含了目標業務模型與在微服務架構中的業務服務層級之間的各種映射關系,在代碼生成的工程中,無需進行復雜的分析,即可將目標業務模型包含的各種數據分別映射至對應的業務服務層級,簡化了生成目標源代碼的流程,避免了大量復雜重復的代碼編碼工作,而且通過代碼工程腳手架,可以完善且充分地將目標業務模型包含的各種數據轉換成業務服務層級代碼,以便于生成滿足業務模型的目標源代碼,提高了將業務模型轉換成代碼的效率;其中,根據在微服務架構中業務服務層級的代碼,生成與業務服務層級的代碼相關聯的服務配置文件,服務配置文件用于表示執行微服務架構中業務服務層級的代碼時所加載的文件,在啟動微服務架構時,通過加載服務配置文件,實現了執行業務服務層級的代碼,在當前的業務需求發生改變的情況下,直接修改業務服務層級的代碼會造成代碼與業務模型之間不一致的情況,且后期維護和修改的難度較大,通過對服務配置文件進行修改,實現了對代碼的適應性調整,以滿足新的業務需求,考慮到了代碼與業務模型之間的保鮮性;另外,將在微服務架構中的業務服務層級的代碼以及服務配置文件封裝進初始源代碼中,以確定可執行的用于滿足目標業務模型的目標源代碼之前,根據在微服務架構中的業務服務層級的代碼,生成實現層的代碼,從而,將業務服務層級的代碼與實現層的代碼在代碼架構上進行分離,業務服務層級的代碼通過代碼工程腳手架來生成,在將目標源代碼遷移到新的業務場景下時,通過代碼工程腳手架,即可實現對業務服務層級的代碼的重新覆蓋,只需根據新的業務服務層級的代碼,對實現層的代碼進行修改,即可滿足新的業務場景下的業務模型,實現了高效地生成滿足業務模型的目標源代碼,同時進一步提高了目標源代碼生成的靈活性。
9、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。
本文檔來自技高網...【技術保護點】
1.一種代碼生成方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的方法,其特征在于,所述目標業務模型至少包括產品模型、流程模型和數據模型,所述業務服務層級包括接口層、應用層、領域層和永久層,所述基于所述目標業務模型,通過預先設置的代碼工程腳手架,以生成初始源代碼以及在微服務架構中業務服務層級的代碼,包括:
3.根據權利要求2所述的方法,其特征在于,所述根據在所述業務服務層級中與所述產品模型存在映射關系的業務服務層、確定所述接口層的代碼和所述應用層的代碼,以及根據在所述業務服務層級中與所述流程模型存在映射關系的業務服務層和在所述業務服務層級中與所述數據模型存在映射關系的業務服務層,確定所述領域層的代碼,包括:
4.根據權利要求1所述的方法,其特征在于,所述根據在所述微服務架構中所述業務服務層級的代碼,生成與所述業務服務層級的代碼相關聯的服務配置文件,其中,所述服務配置文件用于表示執行所述微服務架構中所述業務服務層級的代碼時所加載的文件,包括:
5.根據權利要求1所述的方法,其特征在于,所述根據在所述微服務架構中所述業務服務層級
6.根據權利要求1-5任一項所述的方法,其特征在于,所述方法,包括:
7.根據權利要求1所述的方法,其特征在于,在將在所述微服務架構中的所述業務服務層級的代碼以及所述服務配置文件封裝進所述初始源代碼中,以確定可執行的用于滿足所述目標業務模型的目標源代碼之前,包括:
8.根據權利要求1-7任一項所述的方法,其特征在于,所述方法,包括:
9.根據權利要求1-8任一項所述的方法,其特征在于,所述方法還包括:
10.根據權利要求9所述的方法,其特征在于,所述若將所述第一目標源代碼遷移至第二業務場景下,對所述第一目標源代碼進行修改,以確定可執行的用于滿足所述第二業務場景下的所述第二業務模型的第二目標源代碼,包括:
11.一種代碼生成裝置,其特征在于,包括以下步驟:
...【技術特征摘要】
1.一種代碼生成方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的方法,其特征在于,所述目標業務模型至少包括產品模型、流程模型和數據模型,所述業務服務層級包括接口層、應用層、領域層和永久層,所述基于所述目標業務模型,通過預先設置的代碼工程腳手架,以生成初始源代碼以及在微服務架構中業務服務層級的代碼,包括:
3.根據權利要求2所述的方法,其特征在于,所述根據在所述業務服務層級中與所述產品模型存在映射關系的業務服務層、確定所述接口層的代碼和所述應用層的代碼,以及根據在所述業務服務層級中與所述流程模型存在映射關系的業務服務層和在所述業務服務層級中與所述數據模型存在映射關系的業務服務層,確定所述領域層的代碼,包括:
4.根據權利要求1所述的方法,其特征在于,所述根據在所述微服務架構中所述業務服務層級的代碼,生成與所述業務服務層級的代碼相關聯的服務配置文件,其中,所述服務配置文件用于表示執行所述微服務架構中所述業務服務層級的代碼時所加載的文件,包括:
5.根據權利要求1所述的方法,其...
【專利技術屬性】
技術研發人員:何建華,古吉,楊維維,
申請(專利權)人:四川農村商業聯合銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。