首页> 中国专利> 一种适配多语言的自动代码生成方法

一种适配多语言的自动代码生成方法

摘要

本发明公开了一种适配多语言的自动代码生成方法,涉及代码开发技术领域,包括以下步骤:预先为指定技术栈创建编程原型,实现快速生成具体业务场景项目源码,并基于项目源码创建当前开发语言需要的原型文件ModelFile,基于原型文件ModelFile完成最后开发语言的单个代码文件的组装元件并进行可视化组装,其中所述组装元件包括生成组件Com。本发明可通过预设置和可视拖拽完成的单文件和完整项目代码生成方式,将不同功能的编程语言的代码技术实现抽象为不同粒度的组件,组件以属性方式实现一个组件在不同需求场景下的灵活应用方式,提高代码开发效率和降低代码开发难度,以及有效缩短项目进度,节约项目成本和降低维护门槛。

著录项

  • 公开/公告号CN113867714A

    专利类型发明专利

  • 公开/公告日2021-12-31

    原文格式PDF

  • 申请/专利权人 安徽杰予信息科技有限公司;

    申请/专利号CN202111120313.7

  • 发明设计人 桂院;

    申请日2021-09-24

  • 分类号G06F8/34(20180101);G06F3/0486(20130101);

  • 代理机构34188 合肥上博知识产权代理事务所(特殊普通合伙);

  • 代理人郭堃

  • 地址 230000 安徽省合肥市玉兰大道26号赛创中安科创中心403室

  • 入库时间 2023-06-19 13:29:16

说明书

技术领域

本发明涉及代码开发技术领域,具体来说,涉及一种适配多语言的自动代码生成方法。

背景技术

全球已深入进入信息化时代,信息化软件编程的需求量很大,而绝大部分软件开发仍然还是通过人力完成,而人力缺口大,能力参差不齐,导致软件编程的标准化程度较低,开发的软件质量与开发人员的能力关联性很大,因此对于大部分标准化程度较高的软件开发,迫切需要经过方法论证过的标准化的自动化生成方式,保持较高的标准化和自动化以解决现实开发过程中的人员配备不全,人员能力、知识边界有限,人员频繁流动等等导致的项目生产力低下,运维困难问题。

目前市面上的代码生成工具都是针对特定的场景、特定的架构,甚至特定的业务才能达到生成代码的效果。为了能更好的适应项目架构,代码生成器功能拓展也显得尤为重要,而对于代码生成器中的“代码段”是工程师预先写好的,这意味着工程师要预先判定用户会输入哪些“字符串”,由于海量的用户会有海量的差异化需求,因此,这些方法显然不符合需求的差异化趋势。

检索中国发明专利CN102707948 A公开了一种源代码生成方法,包括以下步骤:步骤S1,在数据库中存储字符串个例、与所述字符串个例对应的字符串通例以及与所述字符串通例对应的代码段通例,其中,所述字符串个例为字符串通例的子集;步骤S2,在所述数据库中检索与外围输入的字符串匹配的字符串个例,若检索得到该字符串个例,则执行步骤S3,否则返回执行所述步骤S1;步骤S3,在所述数据库中检索得到与所述步骤S2中获得的字符串个例对应的字符串通例,并比较该字符串个例和字符串通例,生成该字符串个例和字符串通例的第一映射关系。可以使自然语言字符串自动生成代码段,从而减少软件开发工作量,满足用户的多种使用需求。但其仍存在代码生成较为繁琐,而且不能适应不同需求场景的开发需求,且存在项目生产力低下,运维困难问题。

针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

针对相关技术中的问题,本发明提出一种适配多语言的自动代码生成方法,通过预先基于业务场景获取生成代码需要的原数据信息,并作为代码自动化生成输出,运行独立服务Service,并基于业务场景创建当前开发语言需要的原型文件ModelFile完成最后开发语言的单个代码文件的组装元件并进行可视化组装,以克服现有相关技术所存在的上述技术问题。

本发明的技术方案是这样实现的:

一种适配多语言的自动代码生成方法,包括以下步骤:

步骤S1,预先为指定技术栈创建编程原型,实现快速生成具体业务场景项目源码;

步骤S2,并基于项目源码创建当前开发语言需要的原型文件ModelFile;

步骤S3,基于原型文件ModelFile完成最后开发语言的单个代码文件的组装元件并进行可视化组装,其中所述组装元件包括生成组件Com。

其中,所述原型文件ModelFile,还包括以下步骤:

进行功能标签预设。

其中,所述生成组件Com,包括以下步骤:

步骤S301,基于业务场景生成原子组件,其中所述原子组件至少包括代码段和属性Pro;

步骤S302,基于所述原子组件适配单元Unit,并生成应用组件;

步骤S303,标定当前业务场景的文件组件,并预置代码文件进行生成。

其中,所述原子组件,包括以下步骤:

基于原子组件进行组装,获取应用组件,其中包括对所述原子组件进行多个应用组件复用。

其中,所述应用组件,还包括以下步骤:

将生成的所述应用组件进行拖拽或通过配置自动化预置入文件组件中。

其中,所述文件组件,包括以下步骤:

将获取的应用组件汇入Json数据序列,完成代码文件生成。

本发明的有益效果:

本发明适配多语言的自动代码生成方法,通过预先基于业务场景获取生成代码需要的原数据信息,并作为代码自动化生成输出,运行独立服务Service,并基于业务场景创建当前开发语言需要的原型文件ModelFile完成最后开发语言的单个代码文件的组装元件并进行可视化组装,实现适配多语言的自动代码生成,不仅可通过预设置和可视拖拽完成的单文件和完整项目代码生成方式,将不同功能的编程语言的代码技术实现抽象为不同粒度的组件,组件以属性方式实现一个组件在不同需求场景下的灵活应用方式,提高代码开发效率和降低代码开发难度,以及有效缩短项目进度,节约项目成本和降低维护门槛。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的一种适配多语言的自动代码生成方法的流程示意图一;

图2是根据本发明实施例的一种适配多语言的自动代码生成方法的流程示意图二。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的实施例,提供了一种适配多语言的自动代码生成方法。

如图1-图2所示,根据本发明实施例的适配多语言的自动代码生成方法,包括以下步骤:

步骤S1,预先为指定技术栈创建编程原型,实现快速生成具体业务场景项目源码;

步骤S2,并基于项目源码创建当前开发语言需要的原型文件ModelFile;

步骤S3,基于原型文件ModelFile完成最后开发语言的单个代码文件的组装元件并进行可视化组装,其中所述组装元件包括生成组件Com。

其中,所述原型文件ModelFile,还包括以下步骤:

进行功能标签预设。

其中,所述生成组件Com,包括以下步骤:

步骤S301,基于业务场景生成原子组件,其中所述原子组件至少包括代码段和属性Pro;

步骤S302,基于所述原子组件适配单元Unit,并生成应用组件;

步骤S303,标定当前业务场景的文件组件,并预置代码文件进行生成。

其中,所述原子组件,包括以下步骤:

基于原子组件进行组装,获取应用组件,其中包括对所述原子组件进行多个应用组件复用。

其中,所述应用组件,还包括以下步骤:

将生成的所述应用组件进行拖拽或通过配置自动化预置入文件组件中。

其中,所述文件组件,包括以下步骤:

将获取的应用组件汇入Json数据序列,完成代码文件生成。

借助于上述技术方案,通过配置和可视拖拽完成的单文件和完整项目代码生成方式,而且可通过组件抽象不同功能的编程语言的代码技术实现、以属性方式实现组件不同需求场景下的灵活复用方式,提高代码开发效率和降低代码开发难度。

另外,具体的,对于上述原子组件来说,其通过将某种语言的各种技术实现抽象为原子组件,某种技术实现的代码段在组件中以原子形式存在,以属性Pro(属性类:Properties)来实现代码的可变与创造性,从而自适应生成各种需求的代码段,代码段只是一小段满足某个功能的代码,一个软件往往由数以万计的功能代码段+逻辑混合而成。

另外,对于文件组件来说,混合工作由更高组别的文件组件来合成,文件组件最终可以生成代码设计文件,一个软件由N多个代码文件构成,这些代码文件被称为代码设计文件,代码设计文件是一个基于json数据(JSON数据类型)的可视化文件,支持可视化配置和拖拽操作,代码设计文件可以通过用户拖拽来实现也可以由系统预设功能来自动化合成;当代码设计文件合成完成后即可自动生成代码。

此外,自动化生成的代码包括项目必须的全部文件,以JavaWeb项目为例:可生成html,js,css,java,xml,pom,json等文件,并自动合成为标准项目架构(例maven项目架构)。项目代码生成后可以在IDE中完整导入并运行,如同人工创建的项目源码和结构一样。

具体的,如图2所示,在应用时,包括以下步骤:

预先创建了一个自动化代码生成模型平台(以下简称“Model”)。Model是一套生产系统,由数据库统一管理生成代码需要的原数据信息,所有代码自动化生成均由Model输出。

Model为某种开发语言建立独立的服务Service,每个服务Service创建当前开发语言需要生产的各种原型文件ModelFile,原型文件ModelFile完成最后开发语言的单个代码文件。

原型文件ModelFile是自动化代码生成的组装工厂,所有文件的代码生成均在此完成可视化组装工作,组装的元件为组件Com。

此外,对于上述组件Com来说,其组件Com是不同的代码组件,具体如下:

1)原子组件:原子组件为最小粒度的代码片断,一般为单个技术代码单元或业务场景单元,由属性对代码进行变量参数化,从而实现技术代码单元或业务单元的可变性和自适应性,原子组件不被直接使用,需要由应用组件来对其进行组装,原子组件可以被多个应用组件复用,从而实现原子组件的高复用去适应和生成更多的软件需求代码。

2)应用组件:应用组件为生成代码时直接被使用的组件,使用方式为拖拽使用或通过配置自动化预置入文件中。应用组件由若干个单元Unit构成,每个Unit是一个容器,Unit中装入一个原子组件,自动生成代码最终由原子组件完成。

3)文件组件:文件组件是一个代码文件级容器,里面放置应用组件,应用组件最终汇入一个Json数据序列,完成代码文件生成。

综上所述,借助于本发明的上述技术方案,通过预先基于业务场景获取生成代码需要的原数据信息,并作为代码自动化生成输出,运行独立服务Service,并基于业务场景创建当前开发语言需要的原型文件ModelFile完成最后开发语言的单个代码文件的组装元件并进行可视化组装,实现适配多语言的自动代码生成,不仅可通过预设置和可视拖拽完成的单文件和完整项目代码生成方式,将不同功能的编程语言的代码技术实现抽象为不同粒度的组件,组件以属性方式实现一个组件在不同需求场景下的灵活应用方式,提高代码开发效率和降低代码开发难度,以及有效缩短项目进度,节约项目成本和降低维护门槛。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,本领域技术人员在考虑说明书及实施例处的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号