CN109634607A - 一种代码自动生成的方法及装置 - Google Patents

一种代码自动生成的方法及装置 Download PDF

Info

Publication number
CN109634607A
CN109634607A CN201811525939.4A CN201811525939A CN109634607A CN 109634607 A CN109634607 A CN 109634607A CN 201811525939 A CN201811525939 A CN 201811525939A CN 109634607 A CN109634607 A CN 109634607A
Authority
CN
China
Prior art keywords
project
code
parameter
file
folder
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.)
Pending
Application number
CN201811525939.4A
Other languages
English (en)
Inventor
郭又新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taikang Insurance Group Co Ltd
Original Assignee
Taikang Insurance Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Taikang Insurance Group Co Ltd filed Critical Taikang Insurance Group Co Ltd
Priority to CN201811525939.4A priority Critical patent/CN109634607A/zh
Publication of CN109634607A publication Critical patent/CN109634607A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Abstract

本申请实施例公开了一种代码自动生成的方法及装置,该方法包括:响应于代码生成服务启动请求,启动用于代码自动生成的图形用户界面;获取用户通过图形用户界面输入的项目配置参数,根据项目配置参数生成项目文件夹;获取用户通过图形用户界面输入的文档参数,根据文档参数生成项目需求文档,并在项目文件夹中生成相应的代码文件;响应于项目保存请求,保存项目需求文件以及代码文件以完成项目创建或更新。该方法在前端浏览器中启动用于代码自动生成的图形用户界面,代码生成过程在前端实现,不依赖于后台服务器,启动快捷、实现简便,另外,只需要文档参数就可以生成相应的代码文件,实现了需求文档与代码的同步更新。

Description

一种代码自动生成的方法及装置
技术领域
本申请涉及计算机技术领域,具体涉及一种代码自动生成的方法及装置。
背景技术
在项目开发过程中,随着业务场景越来越多样化,系统功能模块越来越多,系统之间的调用越来越复杂等因素,都导致系统开发、运维、扩展变得越来越难,无形中增加开发人力成本、时间成本。
为了减少重复开发工作量,现有技术中存在一些代码自动生成的方案。现有代码生成一般根据后端服务实现,服务启动及创建较为复杂;另外,现有代码生成需要根据用户需求文档进行分析,创建各种模板文件然后进行代码生成,需求文档与代码处于分离状态,代码无法根据需求文档及时更新,导致需求文档与代码并不同步,需求文档没有参考价值。
发明内容
有鉴于此,本申请实施例提供一种代码自动生成的方法及装置,以解决现有技术中代码生成实现较为复杂,且需求文档与代码不同步的技术问题。
为解决上述问题,本申请实施例提供的技术方案如下:
一种代码自动生成的方法,所述方法包括:
响应于代码生成服务启动请求,启动用于代码自动生成的图形用户界面;
获取用户通过所述图形用户界面输入的项目配置参数,根据所述项目配置参数生成项目文件夹;
获取所述用户通过所述图形用户界面输入的文档参数,根据所述文档参数生成项目需求文档,并在所述项目文件夹中生成相应的代码文件;
响应于项目保存请求,保存所述项目需求文件以及所述代码文件以完成项目创建或更新。
在一种可能的实现方式中,所述获取用户通过所述图形用户界面输入的项目配置参数,根据所述项目配置参数生成项目文件夹,包括:
获取用户通过所述图形用户界面输入的项目配置参数,所述项目配置参数包括项目地址、项目包名称、项目类型、项目配置信息;
根据所述项目地址在对应的存储路径生成项目文件夹,其中所述项目文件夹的名称根据所述项目包名称确定;
根据所述项目类型在相应的所述项目文件夹中生成一个或多个应用模块文件;
根据所述项目配置信息,在相应的所述项目文件夹中生成配置文件。
在一种可能的实现方式中,所述获取所述用户通过所述图形用户界面输入的文档参数,根据所述文档参数生成项目需求文档,并在所述项目文件夹中生成相应的代码文件,包括:
获取所述用户通过所述图形用户界面输入的文档参数,所述文档参数包括请求路径、请求参数、响应参数、业务类型;
根据所述文档参数生成项目需求文档;
根据所述文档参数在相应的所述项目文件夹中生成接口的控制层代码文件;
根据所述请求参数以及所述响应参数在相应的所述项目文件夹中生成实体类文件;
根据所述业务类型在相应的所述项目文件夹生成服务层代码文件。
在一种可能的实现方式中,所述方法还包括:
根据所述请求参数以及所述响应参数,生成测试样例文件。
在一种可能的实现方式中,所述方法还包括:
在所述项目文件夹中生成增加功能代码文件、删除功能代码文件、修改功能代码文件以及查询功能代码文件。
在一种可能的实现方式中,在根据所述项目配置参数生成项目文件夹之后,所述方法还包括:
从服务器获取共享代码文件,将所述共享代码文件添加到相应的所述项目文件夹中。
在一种可能的实现方式中,在所述项目文件夹中生成相应的代码文件之后,所述方法还包括:
将完成的业务逻辑代码文件上传到服务器。
一种代码自动生成的装置,所述装置包括:
启动单元,用于响应于代码生成服务启动请求,启动用于代码自动生成的图形用户界面;
第一生成单元,用于获取用户通过所述图形用户界面输入的项目配置参数,根据所述项目配置参数生成项目文件夹;
第二生成单元,用于获取所述用户通过所述图形用户界面输入的文档参数,根据所述文档数据生成项目需求文档,并在所述项目文件夹中生成相应的代码文件;
创建单元,用于响应于项目保存请求,保存所述项目需求文件以及所述代码文件以完成项目创建或更新。
一种终端设备,所述终端设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行上述的代码自动生成的方法。
一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述的代码自动生成的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例启动用于代码自动生成的图形用户界面,代码生成过程在前端实现,不依赖于后台服务器,启动快捷、实现简便。通过用户在图形用户界面中输入的项目配置参数可以生成项目文件夹结构,通过用户在图形用户界面中输入的文档参数,可以生成项目需求文档,同时根据文档参数可以在相应的项目文件夹中生成相应的代码文件,以完成项目创建或更新。从而只需要文档参数就可以生成相应的代码文件,实现了需求文档与代码的同步更新。
附图说明
图1为本申请实施例提供的一种示例性应用场景的框架示意图;
图2为本申请实施例提供的一种代码自动生成的方法流程图;
图3为本申请实施例提供的一种生成项目文件夹的方法流程;
图4为本申请实施例提供的一种生成项目需求文档与代码文件的方法流程图;
图5为本申请实施例提供的一种另外一种代码自动生成的方法流程图;
图6为本申请实施例提供的一种代码自动生成的装置组成示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
基于现有技术中的问题,本申请实施例提供了一种代码自动生成的方法,通过启动用于代码自动生成的图形用户界面,代码生成过程在前端实现,不依赖于后台服务器,启动快捷、实现简便。通过用户在图形用户界面中输入的项目配置参数可以生成项目文件夹结构,通过用户在图形用户界面中输入的文档参数,可以生成项目需求文档,同时根据文档参数可以在相应的项目文件夹中生成相应的代码文件,以完成项目创建或更新。从而只需要文档参数就可以生成相应的代码文件,实现了需求文档与代码的同步更新。
参见图1,该图为本申请实施例提供的一种示例性应用场景的框架示意图。其中,本申请实施例提供的代码自动生成的方法可以应用在客户端10中。
在现有技术中,用户通常是基于后端服务器20的相关服务以进行代码生成,这种情形下,服务的启动与创建过程都较为复杂。
而在本实施例中,可以基于客户端10以实现代码自动生成,具体的实现可以通过客户端10启动用于代码自动生成的图形用户界面,根据图形用户界面的提示信息进行操作,以实现代码自动生成。另外,本申请实施例客户端10还可以从服务器20获取共享代码文件,也可以将完成的业务逻辑代码文件上传到服务器20。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,本申请实施例中的客户端10可以搭载于终端中,终端可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)实现与服务器20交互的任何用户设备,包括但不限于:现有的、正在研发的或将来研发的智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。还需要注意的是,本申请实施例中服务器20可以是现有的、正在研发的或将来研发的、能够向用户提供信息推荐的应用服务的设备的一个示例。本申请的实施方式在此方面不受任何限制。
为便于理解本申请实施例的技术方案,下面将结合附图对本申请实施例提供的代码自动生成的方法进行详细说明。
参见图2,该图示出了本申请实施例提供的一种代码自动生成的方法流程图,可以包括步骤S201-S204:
S201:响应于代码生成服务启动请求,启动用于代码自动生成的图形用户界面。
在本实施例中,当用户需要进行代码生成时,可以触发启动客户端10也即触发代码生成服务启动请求,在接收到代码生成服务启动请求后,可以响应该请求。其中,客户端响应该代码生成服务请求的具体实现可以为:自动打开浏览器,比如可以是默认浏览器,并在打开的浏览器中启动用于代码自动生成的图形用户界面。其中,图形用户界面是包括代码生成服务中的便于用户操作的图形界面。在实际应用中,可以通过执行脚本实现在浏览器中启动图形用户界面。
S202:获取用户通过图形用户界面输入的项目配置参数,根据项目配置参数生成项目文件夹。
在本实施例中,用户可以根据图形用户界面中的提示,向该图形用户界面输入项目配置参数,其中,项目配置参数可以是与当前项目相关的配置参数。在用户完成项目配置参数的输入后,客户端10可以获取该项目配置参数,并根据该项目配置参数生成与当前项目相关的项目文件夹。
在本实施例的一种实现方式中,获取用户通过图形用户界面输入的项目配置参数,并根据项目配置参数生成项目文件夹的方法可以参见图3,该图示出了本申请实施例提供的一种生成项目文件夹的方法流程,可以包括步骤S301-S304:
S301:获取用户通过图形用户界面输入的项目配置参数,项目配置参数包括项目地址、项目包名称、项目类型、项目配置信息等。
在本实施例中,客户端10可以获取到用户通过图形用户界面输入的项目配置参数,其中,项目配置参数可以包括有项目地址、项目包名称、项目类型、项目配置信息。
其中,项目地址可以为当前项目的保存地址;项目包名称可以为当前项目的全部相关的包(package)名称;项目类型可以为当前项目的类型,具体为:当项目只包括一个模块文件时,则该项目的类型可以为单模块应用,当项目包括多个模块文件时,则该项目的类型为多模块应用,其中,模块文件可以是一个实现某一特定功能的文件,比如支付、注册、登录等功能的模块文件;项目配置信息可以为与当前项目相关的配置信息。
S302:根据项目地址在对应的存储路径生成项目文件夹,其中项目文件夹的名称根据项目包名称确定。
在本实施例中,可以根据获取的项目地址参数在相应的存储路径生成当前项目的一个或多个项目文件夹。项目文件夹可以具有预设的文件夹结构,例如文件夹A包括文件夹B、文件夹C等。其中,项目文件夹的名称可以根据项目包名称参数确定。
S303:根据项目类型在相应的项目文件夹中生成一个或多个应用模块文件。
在本实施例中,可以根据获取的项目类型参数生成当前项目对应的一个或多个应用模块文件,并将该生成的应用模块文件都保存至已生成的与应用模块对应的项目文件夹中。
S304:根据项目配置信息,在相应的项目文件夹中生成配置文件。
在本实施例中,可以根据获取的项目配置信息参数生成当前项目的配置文件,并将该配置文件保存至与其对应的项目文件夹中。
S203:获取用户通过图形用户界面输入的文档参数,根据文档参数生成项目需求文档,并在项目文件夹中生成相应的代码文件。
在本实施例中,在完成步骤S202后,在图形用户界面上显示有用于引导用户进行下一步操作的提示信息,比如可以是通过点击“下一步”按钮即可进行下一步操作的提示信息,当用户点击“下一步”按钮后,客户端10可以在图形用户界面上自动显示用于用户输入文档参数的界面,此时,用户可以在该图形用户界面上输入当前项目相关的文档参数。
在用户完成文档参数的输入后,客户端10可以获取用户输入的文档参数,并根据该文档参数生成项目需求文档,以及根据该文档参数在项目文件夹中生成相应的代码文件。其中,项目需求文档可以是对当前项目的需求进行分析而生成的项目设计文档,代码文件可以是自动生成的当前项目的代码文件。
在本实施例的一种实现方式中,获取用户通过图形用户界面输入的文档参数,根据文档数据生成项目需求文档,并在项目文件夹中生成相应的代码文件的方法可以参见图4,该图示出了本申请实施例提供的一种生成项目需求文档与代码文件的方法流程图,可以包括步骤S401-S405:
S401:获取用户通过图形用户界面输入的文档参数,文档参数包括请求路径、请求参数、响应参数、业务类型。
在本实施例中,客户端10可以获取到用户通过图形用户界面输入的文档参数,其中,文档参数可以包括有请求路径、请求参数、响应参数、业务类型等。
其中,请求路径可以为当前项目在投入使用后,项目接口请求路径;接口的请求参数可以包括公共请求参数以及接口特定的业务参数,例如接口类型、接口标识等;响应参数可以包括正常返回参数以及错误返回参数,正常返回参数例如如果接口调用成功则返回业务参数,错误返回参数例如如果调用失败则统一返回错误信息等;业务类型可以为所创建的当前项目的业务类型,比如该项目为用于游戏的项目,则其业务类型为游戏类型。
S402:根据文档参数生成项目需求文档。
在本实施例中,可以根据获取的全部文档参数生成项目需求文档。
S403:根据文档参数在相应的项目文件夹中生成接口的控制层代码文件。
在本实施例中,可以根据获取的文档参数进行设置,并生成接口的控制层代码文件,并将该接口的控制层代码文件保存至相应的项目文件夹中。在具体的实现中,比如可与根据获取的全部与应用程序接口(Application Program Interface,API)相关的文档参数进行设置,并生成具体的控制层API代码文件。
S404:根据请求参数以及响应参数在相应的项目文件夹中生成实体类文件。
在本实施例中,可以根据获取的请求参数以及响应参数生成实体类文件,并将该实体类文件保存至相应的项目文件夹中。其中,还可以在生成的代码文件中进行注释,以便于开发人员对代码文件的理解,并进行相关操作。
在具体的实现中,比如可以是根据获取的请求参数以及响应参数生成具体的简单的java对象(Plain Ordinary Java Object,POJO),进而生成相应的结构化查询语言(Strudured Query Language,SQL)文件。其中,可以在生成的代码文件中进行swagger注释,以便于开发人员对代码文件的理解,并进行相关操作。其中,POJO可以是便于程序员使用数据库中数据表的简单的实体类,Java可以是一种编程语言,SQL文件可以是一种程序代码文件,swagger可以是一种便于对代码文件进行注释的方式。
S405:根据业务类型在相应的项目文件夹生成服务层代码文件。
在本实施例中,可以根据业务类型生成服务层代码文件,并将该服务层代码文件保存至相应的项目文件夹中。另外,可以在生成的服务层代码文件中保留并标注,以便于开发人员的填写业务具体逻辑部分,以生成业务逻辑代码文件。
S204:响应于项目保存请求,保存项目需求文件以及代码文件以完成项目创建或更新。
在本实施例中,在生成项目需求文档以及代码文件后,在图形用户界面上显示有用于引导用户进行项目保存的提示信息,比如可以是通过点击“保存”按钮以完成保存当前已生成的项目的提示信息,当用户点击“保存”按钮后,客户端10可以响应该项目的保存请求以保存项目需求文件以及代码文件,并完成该项目的创建或者更新。
可以理解的是,如果在生成当前项目之前即已经存在有与该新生成的项目功能相同的项目时,则新生成的项目可以覆盖已有项目以完成新生成项目的更新,如果在生成当前项目之前不存在有与该新生成的项目功能相同的项目时,则完成新生成项目的创建。
在本实施例的一种实现方式中,该方法还包括:根据请求参数以及响应参数,生成测试样例文件。
在本实施例中,可以根据获取的请求参数和响应参数,生成测试样例文件,这样,在完成项目的创建后,可以通过对该测试样例文件进行测试,且根据测试结果对该新创建的项目进行优化。
在本实施例的一种实现方式中,该方法还包括:在项目文件夹中生成增加功能代码文件、删除功能代码文件、修改功能代码文件以及查询功能代码文件。
由于项目基本会使用到增加、删除、修改、查询等功能,因此在本实施例中,客户端10还可以自动生成该用于实现增加功能、删除功能、修改功能以及查询功能的代码文件,并将其保存至相应的项目文件夹中,这样无需开发人员的进一步开发,节约了开发成本。
在本实施例的一种实现方式中,在根据项目配置参数生成项目文件夹之后,该方法还包括:从服务器获取共享代码文件,将共享代码文件添加到相应的项目文件夹中。
在实际的场景中,对于一些用于实现特定功能的业务逻辑代码文件,可以直接获取该逻辑代码文件以应用,而无需重复开发。其中,可以将这些用于实现特定功能的业务逻辑代码文件记为共享代码文件。
在本实施例中,服务器端20可以提供这些共享代码文件,当用户需要应用某些共享代码文件时,可以在服务器20中进行相应的选取,然后,客户端10可以根据用户的选择从服务器20中下载相应的共享代码文件,并将其添加到相应的项目文件夹中。其中,共享代码文件在完成下载以及添加至项目文件夹后可以自适应到当前项目中,如果还需要对项目的业务逻辑进行调整,则可以由开发人员完成。
在本实施例的一种实现方式中,在项目文件夹中生成相应的代码文件之后,该方法还包括:将完成的业务逻辑代码文件上传到服务器。
在生成代码文件之后,开发人员可以基于生成的代码文件继续开发一些用于实现特定功能的业务逻辑代码文件,将这些业务逻辑代码文件上传至服务器20。当其他的用户需要应用上述功能的业务逻辑代码文件时,可以从服务器20下载相应的业务逻辑代码文件,即可对其进行应用。这样,开发人员无需再次开发具有相同功能的业务逻辑代码文件,进而节约了开发时间。
在具体的实现中,用户可以选择供他人使用的业务逻辑代码文件,并点击“提交”按钮,以向客户端10发送上传所选的业务逻辑代码文件的请求,客户端10在接收到该请求后,可以自动将用户选择的业务逻辑代码文件反解析成代码模板,并上传至服务器20中。服务器20在接收到代码模板后对其进行存储。
参见图5,该图示出了本申请实施例提供的另外一种代码自动生成的方法流程图。
如图5所示,当用户需要创建新项目并实现代码生成时,通过客户端10触发代码生成服务启动请求,客户端10响应于该请求,可以开启浏览器以启动图形用户界面。
然后,用户可以在该图形用户界面内输入与新建项目相关的项目配置参数,客户端10在接收到该参数后,可以根据该参数生成用于存储项目文件的项目文件夹,以及,生成与项目相关的配置文件。
最后,用户可以在该代码自动生成服务内添加与项目需求相关的文档参数,客户端10在接收到该参数后,可以自动生成项目需求文档、控制层代码文件、实体类文件、以及服务层代码文件,这样,即可以完成项目的生成。
另外,在客户端10生成项目需求文档和代码文件之后,用户还可以在存储于服务器20中的全部共享代码文件中选取所需的共享代码文件,客户端10根据用户的选择可以从服务器20中下载并添加用户选取的共享代码文件,以及生成相应的应用模块。接着,用户还可以触发客户端10生成测试样例文件,以便于用户根据测试样例的测试结果对项目进行优化。
其中,用户还可以将开发人员填写的一些用于实现特定功能的业务逻辑代码文件上传至服务器20,可以对用户选择的业务逻辑代码文件反解析成代码模板,并上传至服务器20中。服务器20在接收到代码模板后对其进行存储,以便于他人使用。
综上,本申请实施例提供的代码自动生成的方法,通过在前端浏览器中启动用于代码自动生成的图形用户界面,代码生成过程在前端实现,不依赖于后台服务器,启动快捷、实现简便。通过用户在图形用户界面中输入的项目配置参数可以生成项目文件夹结构,通过用户在图形用户界面中输入的文档参数,可以生成项目需求文档,同时根据文档参数可以在相应的项目文件夹中生成相应的代码文件,以完成项目创建或更新。从而只需要文档参数就可以生成相应的代码文件,实现了需求文档与代码的同步更新。
参见图6,该图示出了本申请实施例提供的一种代码自动生成的装置组成示意图,该装置包括:
启动单元601,用于响应于代码生成服务启动请求,启动用于代码自动生成的图形用户界面;
第一生成单元602,用于获取用户通过所述图形用户界面输入的项目配置参数,根据所述项目配置参数生成项目文件夹;
第二生成单元603,用于获取所述用户通过所述图形用户界面输入的文档参数,根据所述文档数据生成项目需求文档,并在所述项目文件夹中生成相应的代码文件;
创建单元604,用于响应于项目保存请求,保存所述项目需求文件以及所述代码文件以完成项目创建或更新。
在本实施例的一种实现方式中,所述第一生成单元602包括:
第一获取子单元,用于获取用户通过所述图形用户界面输入的项目配置参数,所述项目配置参数包括项目地址、项目包名称、项目类型、项目配置信息;
第一生成子单元,用于根据所述项目地址在对应的存储路径生成项目文件夹,其中所述项目文件夹的名称根据所述项目包名称确定;
第二生成子单元,用于根据所述项目类型在相应的所述项目文件夹中生成一个或多个应用模块文件;
第三生成子单元,用于根据所述项目配置信息,在相应的所述项目文件夹中生成配置文件。
在本实施例的一种实现方式中,所述获第二生成单元603包括:
第二获取子单元,用于获取所述用户通过所述图形用户界面输入的文档参数,所述文档参数包括请求路径、请求参数、响应参数、业务类型;
第四生成子单元,用于根据所述文档参数生成项目需求文档;
第五生成子单元,用于根据所述文档参数在相应的所述项目文件夹中生成接口的控制层代码文件;
第六生成子单元,用于根据所述请求参数以及所述响应参数在相应的所述项目文件夹中生成实体类文件;
第七生成子单元,用于根据所述业务类型在相应的所述项目文件夹生成服务层代码文件。
在本实施例的一种实现方式中,所述装置还包括:
第三生成单元,用于根据所述请求参数以及所述响应参数,生成测试样例文件。
在本实施例的一种实现方式中,所述装置还包括:
第四生成单元,用于在所述项目文件夹中生成增加功能代码文件、删除功能代码文件、修改功能代码文件以及查询功能代码文件。
在本实施例的一种实现方式中,所述装置还包括:
添加单元,用于在根据所述项目配置参数生成项目文件夹之后,从服务器获取共享代码文件,将所述共享代码文件添加到相应的所述项目文件夹中。
在本实施例的一种实现方式中,所述装置还包括:
上传单元,用于在所述项目文件夹中生成相应的代码文件之后,将完成的业务逻辑代码文件上传到服务器。
本申请实施例还提供一种终端设备,所述终端设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行上述的代码自动生成的方法。
另外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述的代码自动生成的方法。
综上,本申请实施例提供的代码自动生成的装置,通过在前端浏览器中启动用于代码自动生成的图形用户界面,代码生成过程在前端实现,不依赖于后台服务器,启动快捷、实现简便。通过用户在图形用户界面中输入的项目配置参数可以生成项目文件夹结构,通过用户在图形用户界面中输入的文档参数,可以生成项目需求文档,同时根据文档参数可以在相应的项目文件夹中生成相应的代码文件,以完成项目创建或更新。从而只需要文档参数就可以生成相应的代码文件,实现了需求文档与代码的同步更新。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种代码自动生成的方法,其特征在于,所述方法包括:
响应于代码生成服务启动请求,启动用于代码自动生成的图形用户界面;
获取用户通过所述图形用户界面输入的项目配置参数,根据所述项目配置参数生成项目文件夹;
获取所述用户通过所述图形用户界面输入的文档参数,根据所述文档参数生成项目需求文档,并在所述项目文件夹中生成相应的代码文件;
响应于项目保存请求,保存所述项目需求文件以及所述代码文件以完成项目创建或更新。
2.根据权利要求1所述的方法,其特征在于,所述获取用户通过所述图形用户界面输入的项目配置参数,根据所述项目配置参数生成项目文件夹,包括:
获取用户通过所述图形用户界面输入的项目配置参数,所述项目配置参数包括项目地址、项目包名称、项目类型、项目配置信息;
根据所述项目地址在对应的存储路径生成项目文件夹,其中所述项目文件夹的名称根据所述项目包名称确定;
根据所述项目类型在相应的所述项目文件夹中生成一个或多个应用模块文件;
根据所述项目配置信息,在相应的所述项目文件夹中生成配置文件。
3.根据权利要求1或2所述的方法,其特征在于,所述获取所述用户通过所述图形用户界面输入的文档参数,根据所述文档参数生成项目需求文档,并在所述项目文件夹中生成相应的代码文件,包括:
获取所述用户通过所述图形用户界面输入的文档参数,所述文档参数包括请求路径、请求参数、响应参数、业务类型;
根据所述文档参数生成项目需求文档;
根据所述文档参数在相应的所述项目文件夹中生成接口的控制层代码文件;
根据所述请求参数以及所述响应参数在相应的所述项目文件夹中生成实体类文件;
根据所述业务类型在相应的所述项目文件夹生成服务层代码文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述请求参数以及所述响应参数,生成测试样例文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述项目文件夹中生成增加功能代码文件、删除功能代码文件、修改功能代码文件以及查询功能代码文件。
6.根据权利要求1所述的方法,其特征在于,在根据所述项目配置参数生成项目文件夹之后,所述方法还包括:
从服务器获取共享代码文件,将所述共享代码文件添加到相应的所述项目文件夹中。
7.根据权利要求1所述的方法,其特征在于,在所述项目文件夹中生成相应的代码文件之后,所述方法还包括:
将完成的业务逻辑代码文件上传到服务器。
8.一种代码自动生成的装置,其特征在于,所述装置包括:
启动单元,用于响应于代码生成服务启动请求,启动用于代码自动生成的图形用户界面;
第一生成单元,用于获取用户通过所述图形用户界面输入的项目配置参数,根据所述项目配置参数生成项目文件夹;
第二生成单元,用于获取所述用户通过所述图形用户界面输入的文档参数,根据所述文档数据生成项目需求文档,并在所述项目文件夹中生成相应的代码文件;
创建单元,用于响应于项目保存请求,保存所述项目需求文件以及所述代码文件以完成项目创建或更新。
9.一种终端设备,其特征在于,所述终端设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行权利要求1-7任一项所述的代码自动生成的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-7任一项所述的代码自动生成的方法。
CN201811525939.4A 2018-12-13 2018-12-13 一种代码自动生成的方法及装置 Pending CN109634607A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811525939.4A CN109634607A (zh) 2018-12-13 2018-12-13 一种代码自动生成的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811525939.4A CN109634607A (zh) 2018-12-13 2018-12-13 一种代码自动生成的方法及装置

Publications (1)

Publication Number Publication Date
CN109634607A true CN109634607A (zh) 2019-04-16

Family

ID=66073684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811525939.4A Pending CN109634607A (zh) 2018-12-13 2018-12-13 一种代码自动生成的方法及装置

Country Status (1)

Country Link
CN (1) CN109634607A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175022A (zh) * 2019-04-25 2019-08-27 平安科技(深圳)有限公司 自动生成pojo类的方法、装置及存储介质、计算机设备
CN110471698A (zh) * 2019-07-29 2019-11-19 深圳数位传媒科技有限公司 Api文档的生成方法与装置、存储介质及计算机设备
CN110502275A (zh) * 2019-07-22 2019-11-26 平安科技(深圳)有限公司 项目开发文档的维护方法、装置、计算机设备和存储介质
CN110569064A (zh) * 2019-09-03 2019-12-13 北京达佳互联信息技术有限公司 接口标识生成方法、装置、设备及存储介质
CN111324342A (zh) * 2020-02-10 2020-06-23 北京字节跳动网络技术有限公司 一种生成接口层代码的方法、装置、介质和电子设备
CN112000319A (zh) * 2020-06-22 2020-11-27 北京中电飞华通信有限公司 后勤业务代码生成方法、客户端、电子设备及系统
CN112947990A (zh) * 2021-03-23 2021-06-11 四川虹美智能科技有限公司 开发库创建方法、装置及计算机可读介质
CN112965709A (zh) * 2021-04-06 2021-06-15 乐聚(深圳)机器人技术有限公司 积木块的生成方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205507A1 (en) * 2001-10-25 2004-10-14 Kai Tuschner Linked code generation reports
CN101604241A (zh) * 2009-07-10 2009-12-16 杭州电子科技大学 一种嵌入式系统的代码生成方法
US20130036359A1 (en) * 2011-08-05 2013-02-07 Bank Of America Corporation Monitoring Implementation Module and Method of Operation
CN103809947A (zh) * 2012-11-09 2014-05-21 腾讯科技(深圳)有限公司 一种开发需求的自动发布方法和系统
CN106250164A (zh) * 2016-08-16 2016-12-21 广州仕邦人力资源有限公司 一种基于需求文档的代码生成方法及装置
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及系统
CN106648690A (zh) * 2016-12-29 2017-05-10 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置
CN106873949A (zh) * 2015-12-11 2017-06-20 泰康保险集团股份有限公司 代码生成方法及其装置
CN106886406A (zh) * 2017-01-19 2017-06-23 阿里巴巴集团控股有限公司 开发代码或文档的生成方法和装置
CN108681470A (zh) * 2018-05-15 2018-10-19 成都道纬科技有限公司 一种基于web技术的汽车电子基础软件配置与代码生成系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205507A1 (en) * 2001-10-25 2004-10-14 Kai Tuschner Linked code generation reports
CN101604241A (zh) * 2009-07-10 2009-12-16 杭州电子科技大学 一种嵌入式系统的代码生成方法
US20130036359A1 (en) * 2011-08-05 2013-02-07 Bank Of America Corporation Monitoring Implementation Module and Method of Operation
CN103809947A (zh) * 2012-11-09 2014-05-21 腾讯科技(深圳)有限公司 一种开发需求的自动发布方法和系统
CN106873949A (zh) * 2015-12-11 2017-06-20 泰康保险集团股份有限公司 代码生成方法及其装置
CN106250164A (zh) * 2016-08-16 2016-12-21 广州仕邦人力资源有限公司 一种基于需求文档的代码生成方法及装置
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及系统
CN106648690A (zh) * 2016-12-29 2017-05-10 北京恒华伟业科技股份有限公司 一种代码自动生成方法及装置
CN106886406A (zh) * 2017-01-19 2017-06-23 阿里巴巴集团控股有限公司 开发代码或文档的生成方法和装置
CN108681470A (zh) * 2018-05-15 2018-10-19 成都道纬科技有限公司 一种基于web技术的汽车电子基础软件配置与代码生成系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175022A (zh) * 2019-04-25 2019-08-27 平安科技(深圳)有限公司 自动生成pojo类的方法、装置及存储介质、计算机设备
CN110175022B (zh) * 2019-04-25 2023-10-13 平安科技(深圳)有限公司 自动生成pojo类的方法、装置及存储介质、计算机设备
CN110502275B (zh) * 2019-07-22 2023-09-29 平安科技(深圳)有限公司 项目开发文档的维护方法、装置、计算机设备和存储介质
CN110502275A (zh) * 2019-07-22 2019-11-26 平安科技(深圳)有限公司 项目开发文档的维护方法、装置、计算机设备和存储介质
CN110471698A (zh) * 2019-07-29 2019-11-19 深圳数位传媒科技有限公司 Api文档的生成方法与装置、存储介质及计算机设备
CN110569064A (zh) * 2019-09-03 2019-12-13 北京达佳互联信息技术有限公司 接口标识生成方法、装置、设备及存储介质
CN110569064B (zh) * 2019-09-03 2024-01-30 北京达佳互联信息技术有限公司 接口标识生成方法、装置、设备及存储介质
CN111324342A (zh) * 2020-02-10 2020-06-23 北京字节跳动网络技术有限公司 一种生成接口层代码的方法、装置、介质和电子设备
CN111324342B (zh) * 2020-02-10 2023-04-07 北京字节跳动网络技术有限公司 一种生成接口层代码的方法、装置、介质和电子设备
CN112000319A (zh) * 2020-06-22 2020-11-27 北京中电飞华通信有限公司 后勤业务代码生成方法、客户端、电子设备及系统
CN112947990A (zh) * 2021-03-23 2021-06-11 四川虹美智能科技有限公司 开发库创建方法、装置及计算机可读介质
CN112947990B (zh) * 2021-03-23 2023-04-07 四川虹美智能科技有限公司 开发库创建方法、装置及计算机可读介质
CN112965709A (zh) * 2021-04-06 2021-06-15 乐聚(深圳)机器人技术有限公司 积木块的生成方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109634607A (zh) 一种代码自动生成的方法及装置
US20210034336A1 (en) Executing a process-based software application in a first computing environment and a second computing environment
JP5249755B2 (ja) セマンティックリッチオブジェクトによる動的なユーザエクスペリエンス
CN101373431B (zh) 增强型小组件合成平台
CN108363587A (zh) 应用程序运行监控方法、装置、计算机设备和存储介质
US20020055939A1 (en) System for a configurable open database connectivity conduit
US10656907B2 (en) Translation of natural language into user interface actions
US10146560B2 (en) Method and apparatus for automatic processing of service requests on an electronic device
CN109074549A (zh) 具有嵌入式工作流设计器的应用
US20110055768A1 (en) Method and system for providing graphical user interface with contextual view
CN108292206A (zh) 具有易于使用特征的工作流开发系统
US10372512B2 (en) Method and apparatus for automatic processing of service requests on an electronic device
CN109343980B (zh) 云复制和云粘贴方法、装置、系统及设备和存储介质
Whiting et al. Creating an iPhone application for collecting continuous ABC data
CN105205757A (zh) 基于Android的选修系统
US8769439B2 (en) Method for creation, management, and presentation of user-scoped navigation topologies for web applications
US20130179414A1 (en) Mechanisms for connecting files between applications
CN101136780A (zh) 获取用户命令信息的方法、系统及用户命令注册的装置
TW201528005A (zh) 在筆記本應用程式中利用在場性資訊
US9741060B2 (en) Recursive navigation in mobile CRM
CN109614271A (zh) 多个集群数据一致性的控制方法、装置、设备及存储介质
Alvina et al. Where is that feature? Designing for cross-device software learnability
US8000952B2 (en) Method and system for generating multiple path application simulations
CN101976196B (zh) 一种面向“服务质量”的代码自动生成方法
US11386108B2 (en) Mining data transformation flows in spreadsheets

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190416

RJ01 Rejection of invention patent application after publication