CN109828752B - 项目代码自动生成方法、装置、计算机设备及存储介质 - Google Patents
项目代码自动生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109828752B CN109828752B CN201811530696.3A CN201811530696A CN109828752B CN 109828752 B CN109828752 B CN 109828752B CN 201811530696 A CN201811530696 A CN 201811530696A CN 109828752 B CN109828752 B CN 109828752B
- Authority
- CN
- China
- Prior art keywords
- code
- project
- target
- item
- codes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000000007 visual effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000011148 porous material Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011895 specific detection Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种项目代码自动生成方法、装置、计算机设备及存储介质,其中,项目代码自动生成方法包括以下步骤:S1,获取标准项目代码模板,所述标准项目代码模板包含标准项目集成的各组件对应的代码;S2,获取待生成的目标项目的基本信息及需集成的组件信息,其中,所述目标项目集成的组件为所述标准项目中的部分或全部组件;S3,根据所述目标项目需集成的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成所述目标项目的项目初始代码后进行存储。本发明能够自动生成项目代码,大大减少开发人员的开发强度和复杂度,提高开发效率,减少bug;能根据需要灵活选择相应组件生成项目代码。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种项目代码自动生成方法、装置、计算机设备及存储介质。
背景技术
在开发程序的过程中,特别是开发一些业务系统的过程中,当新的工程生成或更新时,需要手动进行代码编写操作,工序较多,尤其是在工程数量大时,这些工作如果让开发人员手动完成,不仅会降低开发效率,而且会带来很多bug,最重要的是极容易使得开发人员产生厌倦心理从而消极怠工甚至离职,从而提高了项目的人力资源成本、增大了项目的风险。因此,在大一些的开发团队中都在使用着各种代码生成工具,然而,目前市面上的代码生成工具不能灵活满足用户的个性化需求,并且代码生成后,如果后续项目需要额外添加一些新的组件,则无法再依靠该代码生成工具,必须自行手动添加代码。
发明内容
针对上述现有技术的不足,本发明的目的在于提供一种项目代码自动生成方法,以在降低开发人员代码编写量的基础上,实现代码的灵活定制。
为了实现上述目的,本发明提供一种项目代码自动生成方法,包括以下步骤:
步骤S1,获取标准项目代码模板,所述标准项目代码模板包含标准项目集成的各组件对应的代码;
步骤S2,获取待生成的目标项目的基本信息及需集成的组件信息,其中,所述目标项目集成的组件为所述标准项目中的部分或全部组件;
步骤S3,根据所述目标项目需集成的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成所述目标项目的项目初始代码。
进一步地,所述项目代码自动生成方法还包括:
步骤S4,将生成的所述目标项目的项目初始代码打包后返回给用户端。
进一步地,所述步骤S3通过可视化界面获取目标项目的基本信息及需集成的组件。
进一步地,所述目标项目的基本信息包括目标项目的名称、端口号和版本号。
进一步地,所述项目代码自动生成方法还包括:
步骤S5,当已生成项目初始代码的目标项目需新增组件时,根据所述目标项目需新增的组件信息在所述目标项目的项目初始代码中集成新增组件对应的代码。
进一步地,所述步骤S5包括:
步骤S51,将生成的所述目标项目的项目初始代码提交至一代码管理工具;
步骤S52,获取需新增组件的目标项目在所述代码管理工具中的存储地址;
步骤S53,根据所述存储地址获取所述目标项目的项目初始代码,并检测所述项目初始代码是否符合预设的代码规范,若是,执行步骤S54;
步骤S54,获取所述目标项目需新增的组件信息;
步骤S55,根据所述目标项目需新增的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成所述目标项目的新增代码;
步骤S56,将生成的所述新增代码提交至所述代码管理工具创建的新代码分支,并创建代码合并请求;
步骤S57,若所述代码合并请求被确认,则控制所述代码管理工具将所述目标项目的项目初始代码与新增代码合并后进行存储。
进一步地,所述代码管理工具为gitlab。
进一步地,若所述步骤S53检测到所述项目初始代码不符合预设的代码规范,则输出相应的提示信息。
为了实现上述目的,本发明还提供一种项目代码自动生成装置,包括:
标准项目代码模板获取模块,其设置为获取标准项目代码模板,所述标准项目代码模板包含标准项目集成的各组件对应的代码;
目标项目信息获取模块,其设置为获取待生成的目标项目的基本信息及需集成的组件信息,其中,所述目标项目集成的组件为所述标准项目中的部分或全部组件;
项目初始代码生成模块,其设置为根据所述目标项目需集成的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成所述目标项目的项目初始代码。
进一步地,所述项目代码自动生成装置还包括:
代码返回模块,其设置为将生成的所述目标项目的项目初始代码打包后返回给用户端。
进一步地,所述目标项目信息获取模块通过可视化界面获取目标项目的基本信息及需集成的组件。
进一步地,所述目标项目的基本信息包括目标项目的名称、端口号和版本号。
进一步地,所述项目代码自动生成装置还包括组件增加模块,其设置为在目标项目需新增组件时,根据所述目标项目需新增的组件信息在所述目标项目的项目初始代码中集成新增组件的代码。
进一步地,所述组件增加模块包括:
初始代码提交单元,其设置为将生成的所述目标项目的项目初始代码提交至一代码管理工具;
地址获取单元,其设置为获取需新增组件的目标项目在所述代码管理工具中的存储地址;
初始代码获取单元,其设置为根据所述存储地址获取所述目标项目的项目初始代码;
代码规范检测单元,其设置为检测所述目标项目的项目初始代码是否符合预设的代码规范;
新增组件信息获取单元,其设置为在所述代码规范检测单元检测到所述目标项目的项目初始代码符合预设的代码规范时,获取所述目标项目需新增的组件信息;
新增代码生成单元,其设置为根据所述目标项目需新增的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成所述目标项目的新增代码;
新增代码提交单元,其设置为将生成的所述新增代码提交至所述代码管理工具创建的新代码分支;
合并请求创建单元,其设置为创建代码合并请求;
代码合并单元,其设置为在所述代码合并请求被确认时,控制所述代码管理工具将所述目标项目的项目初始代码与新增代码合并后进行存储。
进一步地,所述代码管理工具为gitlab。
进一步地,所述组件增加模块还包括提示单元,其设置为在所述代码规范检测单元检测到所述目标项目的项目初始代码不符合预设的代码规范时,输出相应的提示信息。
为了实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法的步骤。
通过采用上述技术方案,本发明相对现有技术具有如下有益效果:
1、能够自动生成项目代码,大大减少开发人员的开发强度和复杂度,提高开发效率,减少bug。
2、能灵活满足用户的个性化需求,用户可以根据自己的需要选择相应组件生成项目代码。
3、可以对已经存在的项目初始代码进行修改,额外集成新的组件代码。
4、在集成新的组件代码时,将生成的新增代码提交至一新的代码分支,再生成代码合并请求,当用户确认无误后,才将新增代码和项目初始代码合并,这样即使在生成新增代码的过程中发生错误,开发人员在审核代码合并请求时可以发现这些错误,避免由于机器生成代码而导致项目出错的问题。
附图说明
图1为本发明一种项目代码自动生成方法的一个实施例的流程图;
图2为图1中步骤S5的流程图;
图3为本发明一种项目代码自动生成装置的一个实施例的结构框图;
图4为图3中组件增加模块的结构框图;
图5为本发明一种计算机设备的一个实施例的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1示出了本发明一种项目代码自动生成方法的一个实施例的流程图,包括以下步骤:
步骤S1,获取标准项目对应的标准项目代码模板,其中,标准项目是指集成所有可支持的组件的项目。在本实施例中,标准项目代码模板由开发人员手动完成,具体地,开发人员首先基于framework开发框架编写标准项目中需集成的每一个组件对应的代码,代码编写完成后,在代码的适当地方加入freemarke语法以生成freemarke模板,例如,在各组件对应的代码前分别加上<#if>标签,后续在生成目标项目的项目初始代码时,只有相应组件被选中,才会集成相应组件的代码。
步骤S2,通过可视化界面获取待生成的目标项目的基本信息及需集成的组件信息,其中,目标项目集成的组件为标准项目中的部分或全部组件。具体地,在本实施例中,为用户提供了一个可视化的输入界面,用户使用用户登录名登录该界面后,可以在可视化界面上输入要开发的项目的基本信息,包括项目的名称、端口号和版本号等。界面上还提供了可支持的所有组件选项,用户可以通过勾选相应的组件选项,将选择的组件集成在项目中。在进行不同的项目开发时,可根据不同的需要输入不同的项目基本信息,选择不同的项目组件选项。
步骤S3,根据目标项目需集成的组件信息从标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成目标项目的项目初始代码后进行存储。具体地,在标准项目代码模板中,每个组件的代码前设有条件判断语句,仅当用户在可视化界面上勾选了相应的组件选项,判断条件才成立,才会在项目初始代码中集成该组件对应的代码。
在本实施例中,项目代码自动生成方法还包括:步骤S4,将生成的目标项目的项目初始代码打包成zip文件后返回给用户端,以供用户下载。
此外,当生成某项目的项目初始代码时,如果用户并未勾选某个组件,比如一项目开始并未集成mybatis组件,则生成的项目代码中将不包含mybatis组件对应的代码。但后续由于某些原因,该项目可能需要改造并且需要额外集成mybatis组件,此时若手动在项目初始代码中编写mybatis组件对应的代码,则费时费力。因此,本发明项目初始代码自动生成方法增加了步骤S5:当已生成项目初始代码的目标项目需新增组件时,根据目标项目需新增的组件信息在目标项目的项目初始代码中集成新增组件对应的代码。
如图2所示,上述步骤S5通过如下步骤实现:
步骤S51,将生成的目标项目的项目初始代码提交至一代码管理工具gitlab。gitlab是一个代码管理工具,也是一个提供用户界面的后台服务。用户可以通过gitlab界面查看项目代码修改前后的对比、以及不同代码分支的差异。
步骤S52,获取用户通过可视化界面输入的需改造目标项目在代码管理工具gitlab中的存储地址。
步骤S53,根据得到的gitlab地址获取待增加组件项目的项目初始代码,并检测该项目初始代码是否符合预设的代码规范,若是,执行步骤S54,否则,输出相应的提示信息,以提示用户代码不符合规范,无法新增组件。具体检测方法是:查看项目初始代码中的启动类、主配置类、配置文件以及pom文件是否存在并且在预定的位置,并检查这些文件内是否具有预留的特征,若是,表示符合预设的代码规范,否则表示不符合代码生成规范。检测目的是为了确保项目初始代码是按预设规范生成且后续编码时并未被破坏。
步骤S54,获取目标项目需新增的组件信息。具体地,根据目标项目的项目初始代码中的pom文件以及主配置类可以提取目标项目的原始集成组件清单,将该清单与标准项目支持的所有组件清单进行比对后,即可得到该项目还可新增集成哪些组件。而后,通过可视化界面展示待增加组件项目对应的原始集成组件选项以及可新增的组件选项,以供用户勾选。
步骤S55,根据目标项目需新增的组件信息从标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成目标项目的新增代码。具体地,在标准项目代码模板中,每个组件的代码前设有条件判断语句(即前述<#if>标签),当用户在可视化界面上勾选了相应的新增组件选项时,新增组件对应的判断条件成立,将各新增组件的代码进行组装生成目标项目的新增代码。
步骤S56,生成新增代码后,并不是将新增代码与项目初始代码直接合并,而是在gitlab上创建新的代码分支,并将生成的新增代码提交至gitlab创建的新代码分支,而后创建代码合并请求以请求将目标项目的项目初始代码与新增代码合并;
步骤S57,用户收到合并请求后,将审核新增代码是否有错,若无错,则确认代码合并请求。若代码合并请求被确认,则控制代码管理工具gitlab将目标项目的项目初始代码与新增代码合并后进行存储,合并后的代码也可以打包成zip文件后返回给用户端,以供用户下载。
可见,在本明中,当集成新的组件代码时首先将生成的新增代码提交至一新的代码分支,再生成代码合并请求,当用户确认无误后,才将新增代码和项目初始代码合并,这样即使在生成新增代码的过程中发生错误,开发人员在审核代码合并请求时可以发现这些错误,避免由于机器生成代码而导致项目出错的问题。
实施例二
图3示出了本发明一种项目代码自动生成装置10的一个实施例,该装置具体包括:
标准项目代码模板获取模块11,其设置为获取标准项目对应的标准项目代码模板,其中,标准项目是指集成所有可支持的组件的项目。在本实施例中,标准项目代码模板基于framework开发框架编写,其包含标准项目中集成的每一个组件对应的代码。
目标项目信息获取模块12,其设置为通过可视化界面获取待生成的目标项目的基本信息及需集成的组件信息,其中,目标项目集成的组件为标准项目中的部分或全部组件。具体地,在本实施例中,为用户提供了一个可视化的输入界面,用户使用用户登录名登录该界面后,可以在可视化界面上输入要开发的项目的基本信息,包括项目的名称、端口号和版本号等。界面上还提供了可支持的所有组件选项,用户可以通过勾选相应的组件选项,将选择的组件集成在项目中。在进行不同的项目开发时,可根据不同的需要输入不同的项目基本信息,选择不同的项目组件选项。
项目初始代码生成模块13,其设置为根据目标项目需集成的组件信息从标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成目标项目的项目初始代码后进行存储。具体地,在标准项目代码模板中,每个组件的代码前设有条件判断语句,仅当用户在可视化界面上勾选了相应的组件选项,判断条件才成立,才会在项目初始代码中集成该组件对应的代码。
在本实施例中,项目代码自动生成装置10还包括:代码返回模块14,其设置为将生成的目标项目的项目初始代码打包成zip文件后返回给用户端,以供用户下载。
此外,当生成某项目的项目初始代码时,如果用户并未勾选某个组件,比如一项目开始并未集成mybatis组件,则生成的项目初始代码中将不包含mybatis组件对应的代码。但后续由于某些原因,该项目可能需要改造并且需要额外集成mybatis组件,此时若手动在项目初始代码中编写mybatis组件对应的代码,则费时费力。因此,本发明项目代码自动生成装置10中还增设了组件增加模块15,其设置为在目标项目需新增组件时,根据目标项目需新增的组件信息在目标项目的项目初始代码中集成新增组件的代码。
如图4所示,组件增加模块15包括:
初始代码提交单元151,其设置为将生成的目标项目的项目初始代码提交至一代码管理工具gitlab。gitlab是一个代码管理工具,也是一个提供用户界面的后台服务。用户可以通过gitlab界面查看项目代码修改前后的对比、以及不同代码分支的差异。
地址获取单元152,其设置为获取用户通过可视化界面输入的需改造目标项目在代码管理工具gitlab中的存储地址。
初始代码获取单元153,其设置为根据存储地址获取目标项目的项目初始代码。
代码规范检测单元154,其设置为检测目标项目的项目初始代码是否符合预设的代码规范。具体检测方法是:查看项目初始代码中的启动类、主配置类、配置文件以及pom文件是否存在并且在预定的位置,并检查这些文件内是否具有预留的特征,若是,表示符合预设的代码规范,否则表示不符合代码生成规范。检测目的是为了确保项目初始代码是按预设规范生成且后续编码时并未被破坏。
新增组件信息获取单元155,其设置为在代码规范检测单元154检测到目标项目的项目初始代码不符合预设的代码规范时,获取目标项目需新增的组件信息。具体地,根据目标项目的项目初始代码中的pom文件以及主配置类可以提取目标项目的原始集成组件清单,将该清单与标准项目支持的所有组件清单进行比对后,即可得到该项目还可新增集成哪些组件。而后,通过可视化界面展示待增加组件项目对应的原始集成组件选项以及可新增的组件选项,以供用户勾选。
新增代码生成单元156,其设置为根据目标项目需新增的组件信息从标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成目标项目的新增代码。具体地,在标准项目代码模板中,每个组件的代码前设有条件判断语句,当用户在可视化界面上勾选了相应的新增组件选项时,该新增组件对应的判断条件成立,将各新增组件的代码进行组装生成目标项目的新增代码。
新增代码提交单元157,其设置为将生成的新增代码提交至代码管理工具gitlab创建的新代码分支。
合并请求创建单元158,其设置为在将生成的新增代码提交至代码管理工具gitlab创建的新代码分支后,创建代码合并请求以请求将目标项目的项目初始代码与新增代码合并;
代码合并单元159,其设置为在代码合并请求被确认时,控制代码管理工具gitlab将目标项目的项目初始代码与新增代码合并后进行存储。具体地,用户收到合并请求后,将审核新增代码是否有错,若无错,则确认代码合并请求,而后通过代码合并单元,通知代码管理工具gitlab将目标项目的项目初始代码与新增代码合并后进行存储,合并后的代码也可以打包成zip文件后返回给用户端,以供用户下载。
优选地,组件增加模块15还包括提示单元(未示出),其设置为在代码规范检测单元154检测到目标项目的项目初始代码不符合预设的代码规范时,输出相应的提示信息,以提示用户代码不符合规范,无法新增组件。
实施例三
本发明还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图5所示。需要指出的是,图5仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如实施例二的项目代码自动生成装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行项目代码自动生成装置10,以实现实施例一的项目代码自动生成方法。
实施例四
本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储项目代码自动生成装置10,被处理器执行时实现实施例一的项目代码自动生成方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种项目代码自动生成方法,其特征在于,包括以下步骤:
步骤S1,获取标准项目对应的标准项目代码模板,所述标准项目代码模板包含标准项目集成的各组件对应的代码;
步骤S2,获取待生成的目标项目的基本信息及需集成的组件信息,其中,所述目标项目集成的组件为所述标准项目中的部分或全部组件;
步骤S3,根据所述目标项目需集成的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码组装生成所述目标项目的项目初始代码;
步骤S5,当已生成项目初始代码的目标项目需新增组件时,根据所述目标项目需新增的组件信息在所述目标项目的项目初始代码中集成新增组件对应的代码;所述步骤S5包括:
步骤S51,将生成的所述目标项目的项目初始代码提交至一代码管理工具;
步骤S52,获取需新增组件的目标项目在所述代码管理工具中的存储地址;
步骤S53,根据所述存储地址获取所述目标项目的项目初始代码,并检测所述项目初始代码是否符合预设的代码规范,若是,执行步骤S54;
步骤S54,将所述目标项目的原始集成组件清单与所述标准项目支持的所有组件清单进行比对,得到所述目标项目可新增的组件,并通过可视化界面展示所述目标项目对应的原始集成组件选项以及可新增的组件选项供用户勾选,根据勾选结果获取所述目标项目需新增的组件信息;
步骤S55,根据所述目标项目需新增的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成所述目标项目的新增代码;
步骤S56,将生成的所述新增代码提交至所述代码管理工具创建的新代码分支,并创建代码合并请求;
步骤S57,若所述代码合并请求被确认,则控制所述代码管理工具将所述目标项目的项目初始代码与新增代码合并后进行存储。
2.根据权利要求1所述的项目代码自动生成方法,其特征在于,所述项目代码自动生成方法还包括以下步骤:
步骤S4,将生成的所述目标项目的项目初始代码打包后返回给用户端。
3.根据权利要求1所述的项目代码自动生成方法,其特征在于,所述代码管理工具为gitlab。
4.根据权利要求1所述的项目代码自动生成方法,其特征在于,若所述步骤S53检测到所述项目初始代码不符合预设的代码规范,则输出相应的提示信息。
5.一种项目代码自动生成装置,其特征在于,包括:
标准项目代码模板获取模块,其设置为获取标准项目对应的标准项目代码模板,所述标准项目代码模板包含标准项目集成的各组件对应的代码;
目标项目信息获取模块,其设置为获取待生成的目标项目的基本信息及需集成的组件信息,其中,所述目标项目集成的组件为所述标准项目中的部分或全部组件;
项目初始代码生成模块,其设置为根据所述目标项目需集成的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成所述目标项目的项目初始代码;
组件增加模块,其设置为在目标项目需新增组件时,根据所述目标项目需新增的组件信息在所述目标项目的项目初始代码中集成新增组件的代码;所述组件增加模块包括:
初始代码提交单元,其设置为将生成的所述目标项目的项目初始代码提交至一代码管理工具;
地址获取单元,其设置为获取需新增组件的目标项目在所述代码管理工具中的存储地址;
初始代码获取单元,其设置为根据所述存储地址获取所述目标项目的项目初始代码;
代码规范检测单元,其设置为检测所述目标项目的项目初始代码是否符合预设的代码规范;
新增组件信息获取单元,其设置为在所述代码规范检测单元检测到所述目标项目的项目初始代码符合预设的代码规范时,将所述目标项目的原始集成组件清单与所述标准项目支持的所有组件清单进行比对,得到所述目标项目可新增的组件,并通过可视化界面展示所述目标项目对应的原始集成组件选项以及可新增的组件选项供用户勾选,根据勾选结果获取所述目标项目需新增的组件信息;
新增代码生成单元,其设置为根据所述目标项目需新增的组件信息从所述标准项目代码模板中获取相应组件的代码,并将各组件的代码进行组装生成所述目标项目的新增代码;
新增代码提交单元,其设置为将生成的所述新增代码提交至所述代码管理工具创建的新代码分支;
合并请求创建单元,其设置为创建代码合并请求;
代码合并单元,其设置为在所述代码合并请求被确认时,控制所述代码管理工具将所述目标项目的项目初始代码与新增代码合并后进行存储。
6.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811530696.3A CN109828752B (zh) | 2018-12-14 | 2018-12-14 | 项目代码自动生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811530696.3A CN109828752B (zh) | 2018-12-14 | 2018-12-14 | 项目代码自动生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109828752A CN109828752A (zh) | 2019-05-31 |
CN109828752B true CN109828752B (zh) | 2024-01-02 |
Family
ID=66858837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811530696.3A Active CN109828752B (zh) | 2018-12-14 | 2018-12-14 | 项目代码自动生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828752B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737426B (zh) * | 2019-09-06 | 2022-05-06 | 未鲲(上海)科技服务有限公司 | 程序块创建方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1399737A (zh) * | 1999-09-24 | 2003-02-26 | 凤凰技术有限公司 | 便于组件选择的软件开发系统 |
CN1957328A (zh) * | 2000-03-20 | 2007-05-02 | 凤凰技术有限公司 | 展示方案组件的逻辑视图、便于其选择以及在编译之前的信号遗漏链接的软件开发系统 |
-
2018
- 2018-12-14 CN CN201811530696.3A patent/CN109828752B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1399737A (zh) * | 1999-09-24 | 2003-02-26 | 凤凰技术有限公司 | 便于组件选择的软件开发系统 |
CN1957328A (zh) * | 2000-03-20 | 2007-05-02 | 凤凰技术有限公司 | 展示方案组件的逻辑视图、便于其选择以及在编译之前的信号遗漏链接的软件开发系统 |
Non-Patent Citations (1)
Title |
---|
weixin_30556959.Git全面教程.https://blog.csdn.net/weixin_30556959/article/details/99239051?spm=1001.2014.3001.5506.2018,正文第1-47页. * |
Also Published As
Publication number | Publication date |
---|---|
CN109828752A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107920112B (zh) | 支持灰度模式的配置文件推送方法、中心服务器及存储介质 | |
CN110334144B (zh) | 报文展示方法、装置、计算机设备及存储介质 | |
CN108196878A (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN110647471B (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN110287098A (zh) | 自动创建测试脚本方法、服务器及计算机可读存储介质 | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN108319575B (zh) | 一种页面组件的校验方法、装置、服务器和存储介质 | |
US20140208169A1 (en) | Domain scripting language framework for service and system integration | |
US20140208294A1 (en) | Domain scripting language framework for service and system integration | |
CN111338656B (zh) | 安装软件包至目标主机的方法、装置和计算机设备 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN111367890A (zh) | 一种数据迁移的方法、装置、计算机设备及可读存储介质 | |
CN102982217A (zh) | 丝印的处理方法和装置 | |
CN109828752B (zh) | 项目代码自动生成方法、装置、计算机设备及存储介质 | |
CN113886590A (zh) | 数据汇总方法、装置、计算机设备及存储介质 | |
CN110764746B (zh) | 脚本生成方法、装置及计算机可读存储介质 | |
CN111046316B (zh) | 一种应用上架状态监控方法、智能终端及存储介质 | |
US10599424B2 (en) | Committed program-code management | |
US20160170718A1 (en) | Rte code generating method and apparatus performing the same | |
CN110837500A (zh) | 基于socal内嵌窗口的数据筛选方法、装置以及计算机设备 | |
CN113595762B (zh) | 一种网卡配置的保存方法及装置 | |
CN115269285A (zh) | 测试方法及装置、设备、计算机可读存储介质 | |
CN112988192A (zh) | 版本更新方法、装置、电子设备及存储介质 | |
CN112435007A (zh) | 基于Node.js的代码提交方法、装置、计算机设备及存储介质 | |
CN110825795A (zh) | 访问数据库的方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |