本公开涉及代码开发,具体而言,涉及一种代码模板的生成方法、装置、电子设备及存储介质。
背景技术:
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、获取代码模板对应的预设meta对象属性作为所述属性参数;
24、根据所述预设meta对象属性构建声明代码模板对应所述文件生成规则的工程编码表达式,其中,所述文件生成规则包括代码模板生成的代码文件对应的文件格式和文件位置。
25、一种可选的实施方式中,通过所述模板引擎实例渲染所述目标代码模板,生成目标代码文件,具体包括:
26、将所述目标参数值、所述目标属性值以及所述模板元信息构建为配置数据组;
27、将所述模板引擎实例与所述配置数据组结合,以使所述模板引擎实例通过调用所述目标生成器类,采用所述目标生成器类中的代码文件生成方法,根据所述配置数据组生成所述目标代码文件。
28、本公开实施例还提供一种代码模板的生成装置,包括:
29、模板元信息配置模块,用于创建模板生成工程,在所述模板生成工程中创建模板描述文件,并在所述模板描述文件中配置模板元信息;
30、属性参数声明模块,用于在所述模板生成工程中创建模板结构文件,声明代码模板生成的代码文件对应的文件生成规则,并定义代码模板对应的属性参数;
31、功能参数定义模块,用于在所述模板生成工程中创建模板参数文件,并在所述模板参数文件中定义代码模板对应的功能参数以及所述功能参数对应的默认值;
32、代码生成方法嵌入模块,用于创建生成代码文件的生成器类,所述生成器类继承使用模板引擎生成代码文件的抽象类,并在所述生成器类中重写代码文件生成方法;
33、工程压缩模块,用于在所述模板生成工程中创建包括所述生成器类对应包路径的路径接口文件,并将所述模板生成工程打包生成代码模板压缩文件。
34、本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述代码模板的生成方法,或上述代码模板的生成方法中任一种可能的实施方式中的步骤。
35、本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述代码模板的生成方法,或上述代码模板的生成方法中任一种可能的实施方式中的步骤。
36、本公开实施例还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序、指令被处理器执行时实现上述代码模板的生成方法,或上述代码模板的生成方法中任一种可能的实施方式中的步骤。
37、本公开实施例提供的一种代码模板的生成方法、装置、电子设备及存储介质,通过创建模板生成工程,在所述模板生成工程中创建模板描述文件,并在所述模板描述文件中配置模板元信息;在所述模板生成工程中创建模板结构文件,声明代码模板生成的代码文件对应的文件生成规则,并定义代码模板对应的属性参数;在所述模板生成工程中创建模板参数文件,并在所述模板参数文件中定义代码模板对应的功能参数以及所述功能参数对应的默认值;创建生成代码文件的生成器类,所述生成器类继承使用模板引擎生成代码文件的抽象类,并在所述生成器类中重写代码文件生成方法;在所述模板生成工程中创建包括所述生成器类对应包路径的路径接口文件,并将所述模板生成工程打包生成代码模板压缩文件。可以实现高度可定制和自动化的代码生成,提高开发效率并保证代码风格和框架的一致性,同时具有较高的灵活性以及与不同项目的适配性。
38、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种代码模板的生成方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在将所述模板生成工程打包生成代码模板压缩文件之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在将所述目标功能参数对应的所述默认值替换为所述目标参数值之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,通过所述模板引擎实例渲染所述目标代码模板,生成目标代码文件,具体包括:
7.根据权利要求1所述的方法,其特征在于,在所述模板生成工程中创建模板结构文件,声明代码模板生成的代码文件对应的文件生成规则,并定义代码模板对应的属性参数,具体包括:
8.一种代码模板的生成装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7中任一项所述的代码模板的生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7中任一项所述的代码模板的生成方法的步骤。
