一种代码生成方法、装置及设备制造方法及图纸

技术编号:36692764 阅读:18 留言:0更新日期:2023-02-27 20:01
本申请提供了一种代码生成方法、装置及设备。其方法包括:首先基于命令行工具,解析输入的命令,并基于解析结果,获取项目类型参数;再基于所述项目类型参数,获取模板文件和配置数据;然后基于所述模板文件和所述配置数据,生成文件流;最后导出所述文件流,并写入到当前命令执行目录中,以得到业务代码。该方法不需要开发人员深度参与具体业务项目的代码修改,可在提高软件开发效率的同时还能保证业务代码质量。码质量。码质量。

【技术实现步骤摘要】
一种代码生成方法、装置及设备


[0001]本申请涉及计算机
,尤其涉及一种代码生成的技术。

技术介绍

[0002]在计算机软件项目开发中,通常当开发到一定阶段,项目结构稳定后,软件的代码结构基本固定,已拥有成熟的组件,对于后续新功能的开发,主要在于新功能特有的数据及操作的配置。
[0003]如vue、nest、recat等常用的Web开发框架,提供生成项目模板的功能,可根据已有的模板文件,直接写入项目信息,生成业务代码。但是这些框架生成的软件代码只是一个基本的项目代码目录结构的demo文件,针对具体业务项目,还需要开发人员结合具体业务深度参与,进行大量的配置、代码修改等才能生成最终的业务代码,导致软件开发效率不是很高,且业务代码质量受到开发人员水平的影响较大。

技术实现思路

[0004]本申请的目的是提供一种代码生成方法、装置及设备,用以至少部分解决现有代码生成效率不高且代码质量受开发人员水平的影响较大的技术问题。
[0005]根据本申请的一个方面,提供了一种代码生成方法,其中,所述方法包括:
[0006]基于命令行工具,解析输入的命令,并基于解析结果,获取项目类型参数;
[0007]基于所述项目类型参数,获取模板文件和配置数据;
[0008]基于所述模板文件和所述配置数据,生成文件流;
[0009]导出所述文件流,并写入到当前命令执行目录中,以得到业务代码。
[0010]可选地,其中,所述输入的命令包括:
[0011]直接输入的命令,或者从所述命令行工具的全局属性中选择的命令。
[0012]可选地,其中,获取所述配置数据包括:
[0013]通过http协议,从外部业务数据源获取所述配置数据。
[0014]可选地,其中,所述基于所述模板文件和所述配置数据,生成文件流包括:
[0015]解析所述模板文件,得到模板;
[0016]将所述配置数据写入所述模板,以生成文件流。
[0017]根据本申请的另一个方面,提供了一种代码生成装置,其中,所述装置包括:
[0018]第一模块,用于基于命令行工具,基于命令行工具,解析输入的命令,并基于解析结果,获取项目类型参数;
[0019]第二模块,用于基于所述项目类型参数,获取模板文件和配置数据;
[0020]第三模块,用于基于所述模板文件和所述配置数据,生成文件流;
[0021]第四模块,用于导出所述文件流,并写入到当前命令执行目录中,以得到业务代码。
[0022]与现有技术相比,本申请提供了一种代码生成方法、装置及设备。其方法包括:首
先基于命令行工具,解析输入的命令,并基于解析结果,获取项目类型参数;再基于所述项目类型参数,获取模板文件和配置数据;然后基于所述模板文件和所述配置数据,生成文件流;最后导出所述文件流,并写入到当前命令执行目录中,以得到业务代码。可选地,可根据项目类型参数,通过http协议从独立的外部项目数据配置系统中获取配置数据。
[0023]本申请提供的一种代码生成方法可带来的技术效果:
[0024]该方法只需要开发人员针对具体业务项目在命令行工具输入相关命令,通过命令行工具的解析,匹配到相应的模板文件及获取到配置数据,快速生成业务代码,不需要深度参与具体业务项目的代码修改,可在提高软件开发效率的同时还能保证业务代码质量。可从外部获取到与最终生成的业务代码相关的配置数据,通过命令行工具生成的代码即为最终的业务代码,可以直接使用。
附图说明
[0025]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0026]图1示出根据本申请一个方面的一种代码生成方法流程图;
[0027]图2示出根据本申请另一个方面的一种代码生成装置示意图;
[0028]附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
[0029]下面结合附图对本申请作进一步详细描述。
[0030]在本申请的各实施例的一个典型的配置中,方法的执行主体、系统各可信方和/或装置各模块均可以包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0031]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0032]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD

ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0033]为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及各实施例,对本申请的技术方案,进行清楚和完整的描述。
[0034]图1示出根据本申请一个方面的一种代码生成方法流程图,其中,一个实施例的方法包括:
[0035]S101基于命令行工具,解析输入的命令,并基于解析结果,获取项目类型参数;
[0036]S102基于所述项目类型参数,获取模板文件和配置数据;
[0037]S103基于所述模板文件和所述配置数据,生成文件流;
[0038]S104导出所述文件流,并写入到当前命令执行目录中,以得到业务代码。
[0039]其中,本申请的方法实施例通过设备100的软件和/或硬件支持下执行。所述设备100是计算机设备和/或云。所述计算机设备包括但不限于个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
[0040]在此,所述计算机设备和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。
[0041]其中,设备100至少包括预先编写的且与开发框架对应的如下部分:命令行工具和用于配置项目数据的配置系统,在命令行工具中集成有与项目类型对应的预设模板文件。
[0042]在该实施例中,开发人员通过设备1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码生成方法,其特征在于,包括:基于命令行工具,解析输入的命令,并基于解析结果,获取项目类型参数;基于所述项目类型参数,获取模板文件和配置数据;基于所述模板文件和所述配置数据,生成文件流;导出所述文件流,并写入到当前命令执行目录中,以得到业务代码。2.根据权利要求1所述的方法,其特征在于,所述输入的命令包括:直接输入的命令,或者从所述命令行工具的全局属性中选择的命令。3.根据权利要求1所述的方法,其特征在于,获取所述配置数据包括:通过http协议,从外部业务数据源获取所述配置数据。4.根据权利要求1所述的方法,其特征在于,所述基于所述模板文件和所述配置数据,生成文件流包括:解析所述模板文件,得到模板;将所述配置数据写入所述模板,以生成文件流。5....

【专利技术属性】
技术研发人员:尹怀可
申请(专利权)人:上海云轴信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1