代码的生成方法、装置、存储介质及电子装置制造方法及图纸

技术编号:32854781 阅读:12 留言:0更新日期:2022-03-30 19:23
本发明专利技术实施例提供了一种代码的生成方法、装置、存储介质及电子装置,其中,该方法包括:确定数据包对应的框架的框架类型;基于所述框架类型确定代码模板;解析所述数据包中包括的参数信息,得到参数代码;基于所述参数代码以及所述代码模板生成所述数据包的目标代码。通过本发明专利技术,解决了相关技术中存在的生成代码效率低、准确率低的问题,提高了生成代码的效率和准确率。和准确率。和准确率。

【技术实现步骤摘要】
代码的生成方法、装置、存储介质及电子装置


[0001]本专利技术实施例涉及通信领域,具体而言,涉及一种代码的生成方法、装置、存储介质及电子装置。

技术介绍

[0002]在相关技术中,面向过程的微服务架构通常不统一,业务逻辑与底层技术代码混杂在一起,代码可读性低,项目维护成本高,可扩展性差,不足以适应业务需求的快速迭代。代码重复冗余,代码复用率低,单元测试困难。构建新的项目时,传统人工构建多采用复制一个已有项目代码然后手动删除业务代码,或者从零开始一步步构建,费事费力,框架bug率高。
[0003]由此可知,相关技术中存在生成代码效率低、准确率低的问题。
[0004]针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供了一种代码的生成方法、装置、存储介质及电子装置,以至少解决相关技术中存在的生成代码效率低、准确率低的问题。
[0006]根据本专利技术的一个实施例,提供了一种代码的生成方法,包括:确定数据包对应的框架的框架类型;基于所述框架类型确定代码模板;解析所述数据包中包括的参数信息,得到参数代码;基于所述参数代码以及所述代码模板生成所述数据包的目标代码。
[0007]根据本专利技术的另一个实施例,提供了一种代码的生成装置,包括:第一确定模块,用于确定数据包对应的框架的框架类型;第二确定模块,用于基于所述框架类型确定代码模板;解析模块,用于解析所述数据包中包括的参数信息,得到参数代码;生成模块,用于基于所述参数代码以及所述代码模板生成所述数据包的目标代码。
[0008]根据本专利技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
[0009]根据本专利技术的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
[0010]通过本专利技术,确定数据包对应的框架的框架类型,根据框架类型确定代码模板,解析数据包中包括的参数信息,得到参数代码,根据参数代码和代码模板生成数据包的目标代码。由于可以根据数据包对应的框架的框架类型确定出代码模块,根据数据包中的参数信息和代码模板生成数据包对应的目标代码。无需一步步构建代码。因此,可以解决相关技术中存在的生成代码效率低、准确率低的问题,提高了生成代码的效率和准确率。
附图说明
[0011]图1是相关技术中DDD架构示意图;
[0012]图2是本专利技术实施例的一种代码的生成方法的移动终端的硬件结构框图;
[0013]图3是根据本专利技术实施例的代码的生成方法的流程图;
[0014]图4是根据本专利技术具体实施例的代码的生成方法流程图;
[0015]图5是根据本专利技术示例性实施例的生成框架的装置示意图;
[0016]图6是根据本专利技术示例性实施例的生成框架方法流程图;
[0017]图7是相关技术中六边形架构的结构示意图;
[0018]图8是根据本专利技术示例性实施例的web接口服务、领域服务分层架构示意图;
[0019]图9是根据本专利技术示例性实施例的领域服务web项目分层架构示意图;
[0020]图10是根据本专利技术示例性实施例的架构中每层组件的关系图;
[0021]图11是根据本专利技术示例性实施例的框架的工程模块分成代码结构图;
[0022]图12是根据本专利技术示例性实施例的适配层代码结构图;
[0023]图13是根据本专利技术示例性实施例的数据传输对象类图;
[0024]图14是根据本专利技术示例性实施例的客户端模块代码结构图;
[0025]图15是根据本专利技术示例性实施例的应用层代码结构图;
[0026]图16是根据本专利技术示例性实施例的领域层代码结构示意图;
[0027]图17是根据本专利技术示例性实施例的基础层代码结构图;
[0028]图18是根据本专利技术实施例的代码的生成装置的结构框图。
具体实施方式
[0029]下文中将参考附图并结合实施例来详细说明本专利技术的实施例。
[0030]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0031]Maven Archetype是一个Maven项目模板工具包,支持通命令方式构建项目模板

mvn archetype:create

from

project。然而,Maven Archetype项目模板工具包,支持自定义固定的模板,但不支持自主选择动态增减功能组件。
[0032]Mybatis Generator\Mybatis

plus Generator代码生成工具,可快速生成数据库访问代码,支持自定义模板用来生成代码。但是,Mybatis Generator和MybatisPlus Generator代码生成器生成的代码模型是传统的MVC三层架构,开发方式侧重于过程思维,没有融合DDD的设计思想和面向领域地微服务代码模型。
[0033]DDD(Domain Driven Design),即领域驱动设计,核心思想为分治、抽象、知识。应用分层包括展现层、应用层、领域层、基础设施层。其中,DDD架构示意图可参见附图1,如图1所示,DDD包括:
[0034]展现层:负责向用户展现信息以及解释用户命令。更细的方面来讲就是:请求应用层以获取用户所需要展现的数据;发送命令给应用层要求其执行某个用户命令。
[0035]应用层:很薄的一层,定义软件要完成的所有任务。对外为展现层提供各种应用功能(包括查询或命令),对内调用领域层(领域对象或领域服务)完成各种业务逻辑,应用层不包含业务逻辑。
[0036]领域层:负责表达业务概念,业务状态信息以及业务规则,领域模型处于这一层,是业务软件的核心。
[0037]基础设施层:本层为其他层提供通用的技术能力;提供了层间的通信;为领域层实现持久化机制;总之,基础设施层可以通过架构和框架来支持其他层的技术需求。
[0038]其中,领域层包括聚合和领域层服务,聚合包括实体、值对象。
[0039]实体(Entity)是领域中需要唯一标识的领域概念,即领域对象。领域对象包含:属性、行为、状态。不要给实体定义太多的属性或行为,而应该寻找关联,发现其他一些实体或值对象,将属性或行为转移到其他关联的实体或值对象上。
[0040]值对象(Value Object):基本对象类型,String、Integer、Double、Boolean、Object、Collection。
[0041]领域服务(Domain Service):领域中的一些概念不太适合建模为对象,例如一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码的生成方法,其特征在于,包括:确定数据包对应的框架的框架类型;基于所述框架类型确定代码模板;解析所述数据包中包括的参数信息,得到参数代码;基于所述参数代码以及所述代码模板生成所述数据包的目标代码。2.根据权利要求1所述的方法,其特征在于,基于所述参数代码以及所述代码模板生成所述数据包的目标代码包括:确定所述目标代码的代码结构;按照所述代码结构基于所述参数代码以及所述代码模板生成所述目标代码。3.根据权利要求2所述的方法,其特征在于,按照所述代码结构基于所述参数代码以及所述代码模板生成所述目标代码包括:按照所述代码结构调整所述代码模板,得到第一代码模板;获取所述参数代码的配置列表,其中,所述配置列表为预先生成的列表;基于所述配置列表确定所述参数代码中包括的每类代码在所述第一代码模板中的目标位置;分别利用所述每类代码替换所述目标位置中的占位符,得到第二代码模板;将所述第二代码模板对应的代码确定为所述目标代码。4.根据权利要求1所述的方法,其特征在于,解析所述数据包中包括的参数信息,得到参数代码包括:确定所述框架类型对应的代码类型;按照所述代码类型解析所述参数信息,得到所述参数代码。5.根据权利要求4所述的方法,其特征在于,按照所述代码类型解析所述参数信息,得到所述参数代码信息包括以下至少之一:在所述参数信息中包括数据库信息的情况下,按照所述代码类型解析所述数据库信息,以得到数据库代码;在所述参数信息中包...

【专利技术属性】
技术研发人员:王振广
申请(专利权)人:海尔智家股份有限公司
类型:发明
国别省市:

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

1