CN114840190A - 代码生成方法、装置、计算机设备及存储介质 - Google Patents
代码生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114840190A CN114840190A CN202210360920.9A CN202210360920A CN114840190A CN 114840190 A CN114840190 A CN 114840190A CN 202210360920 A CN202210360920 A CN 202210360920A CN 114840190 A CN114840190 A CN 114840190A
- Authority
- CN
- China
- Prior art keywords
- code
- target
- template
- content
- file
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种代码生成方法、装置、计算机设备及存储介质,该代码生成方法,包括:获取代码生成命令;根据代码生成命令,获取目标代码模板;基于目标代码模板,获取与目标代码模板相对应的目标代码内容;根据目标代码内容,生成目标代码文件。本技术方案能够,提高代码生成过程中的可靠性和效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种代码生成方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,代码编写过程中遇到编写重复代码块的需求场景。然而,目前在编写重复代码块的需求场景中,一般都是在已有代码中,依靠人工寻找相似功能后,手动复制代码块并进行人工修改,因此,在修改局部代码的过程中,容易产生错误代码。
发明内容
本发明实施例提供一种代码生成方法、装置、计算机设备及存储介质,以解决在代码生成的过程中容易产生错误代码的问题。
一种代码生成方法,包括:
获取代码生成命令;
根据所述代码生成命令,获取目标代码模板;
基于所述目标代码模板,获取与所述目标代码模板相对应的目标代码内容;
根据所述目标代码内容,生成目标代码文件。
进一步地,所述根据所述代码生成命令,获取目标代码模板,包括:
根据所述代码生成命令,进入模板选择界面;
基于所述模板选择界面,从预定义代码模板或者自定义代码模板中,确定目标代码模板。
进一步地,所述基于所述目标代码模板,获取与所述目标代码模板相对应的目标代码内容,包括:
基于所述目标代码模板,确定至少一个模板选项信息和目标选项顺序;
获取每一所述模板选项信息对应的选项代码内容;
基于所述目标选项顺序,对至少一个所述模板选项信息对应的选项代码内容进行处理,获取目标代码内容。
进一步地,所述根据所述目标代码内容,生成目标代码文件,包括:
根据所述目标代码内容,获取目标配置文件;
采用所述目标配置文件,对所述目标代码内容进行处理,获取目标代码文件。
进一步地,所述根据所述目标代码内容,获取目标配置文件,包括:
根据所述目标代码内容的数据结构,获取与所述数据结构对应的指定配置文件;
根据所述指定配置文件,获取目标配置文件。
进一步地,所述采用所述目标配置文件,对所述目标代码内容进行处理,获取目标代码文件,包括:
读取所述目标配置文件,获取所述目标配置文件的代码分析树;
从所述代码分析树中,提取代码关键字;
根据所述代码关键字,确定组合代码块;
根据所述组合代码块和所述目标代码内容,获取目标代码文件。
进一步地,所述根据所述目标代码内容,生成目标代码文件,包括:
根据所述目标代码内容,显示路径选择界面;
若在预设时间内,接收到基于所述路径选择界面确定的目标存储路径,则在所述目标存储路径中,生成所述目标代码文件;
若在所述预设时间内,未接收基于所述路径选择界面确定的所述目标存储路径,则将所述目标代码内容的初始存储路径确认为所述目标存储路径,并在所述目标存储路径中生成所述目标代码文件。
一种代码生成装置,包括:
命令获取模块,用于获取代码生成命令;
模板获取模块,用于根据所述代码生成命令,获取目标代码模板;
代码获取模块,用于基于所述目标代码模板,获取与所述目标代码模板相对应的目标代码内容;
代码生成模块,用于根据所述目标代码内容,生成目标代码文件。
进一步地,所述模板获取模块包括:
选择界面子模块,用于根据所述代码生成命令,进入模板选择界面;
模板确认子模块,用于基于所述模板选择界面,从预定义代码模板或者自定义代码模板中,确定目标代码模板。
进一步地,所述代码获取模块包括:
信息确定子模块,用于基于所述目标代码模板,确定至少一个模板选项信息和目标选项顺序;
选项代码子模块,用于获取每一所述模板选项信息对应的选项代码内容;
代码合并子模块,用于基于所述目标选项顺序,对至少一个所述模板选项信息对应的选项代码内容进行处理,获取目标代码内容。
进一步地,所述代码生成模块包括:
文件获取子模块,用于根据所述目标代码内容,获取目标配置文件;
代码文件子模块,用于采用所述目标配置文件,对所述目标代码内容进行处理,获取目标代码文件。
进一步地,所述文件获取子模块包括:
文件获取单元,用于根据所述目标代码内容的数据结构,获取与所述数据结构对应的指定配置文件;
配置文件单元,根据所述指定配置文件,获取目标配置文件。
进一步地,所述代码文件子模块包括:
文件读取单元,用于读取所述目标配置文件,获取所述目标配置文件的代码分析树;
关键字单元,用于从所述代码分析树中,提取代码关键字;
代码块单元,用于根据所述代码关键字,确定组合代码块;
目标代码单元,用于根据所述组合代码块和所述目标代码内容,获取目标代码文件。
进一步地,所述代码生成模块包括:
路径信息子模块,用于根据所述目标代码内容,显示路径选择界;
第一代码生成子模块,用于在所述预设时间内,接收到基于所述路径选择界面确定的目标存储路径时,则在所述目标存储路径中,生成所述目标代码文件;
第二代码生成子模块,用于在所述预设时间内,未接收到基于所述路径选择界面确定的所述目标存储路径时,则将所述目标代码内容的初始存储路径确认为所述目标存储路径,并在所述目标存储路径中生成所述目标代码文件。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述代码生成方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述代码生成方法。
上述代码生成方法、装置、计算机设备及存储介质,先通过获取代码生成命令,以通过代码生成命令与用户进行交互,更加的便捷和高效,然后根据代码生成命令,获取目标代码模板,并基于目标代码模板,获取与目标代码模板相对应的目标代码内容,提高生成目标代码文件的效率,最后根据目标代码内容,生成目标代码文件,避免依靠人工进行代码复制和代码修改的过程中出现错误,提高代码生成过程中的可靠性和效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中代码生成方法的一应用环境示意图;
图2是本发明一实施例中代码生成方法的一流程图;
图3是本发明一实施例中代码生成方法的另一流程图;
图4是本发明一实施例中代码生成方法的另一流程图;
图5是本发明一实施例中代码生成方法的另一流程图;
图6是本发明一实施例中代码生成方法的另一流程图;
图7是本发明一实施例中代码生成方法的另一流程图;
图8是本发明一实施例中代码生成方法的另一流程图;
图9是本发明一实施例中代码生成装置的一示意图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的代码生成方法,该代码生成方法可应用如图1所示的应用环境中。具体地,该代码生成方法应用在代码生成系统中,该代码生成系统包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,用于避免依靠人工进行代码复制和代码修改的过程中出现错误,提高代码生成过程中的可靠性和效率。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种代码生成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S201:获取代码生成命令。
其中,代码生成命令是指用于指示服务器生成目标代码文件的命令。
作为一示例,本申请中的代码生成方法可应用于内网的代码管理服务中,也可以应用于外网的代码管理服务中。作为优选地,该代码管理服务为NPM(Node PackageManager,Node包管理器,简称NPM)管理服务。
示例性地,该代码管理服务可预先部署初始代码,当服务器获取代码生成命令后,可以在后续步骤中基于代码生成命令调用代码管理服务中的初始代码,以使用户通过代码生成命令选择实际需求的不同的初始代码,以生成目标代码文件。可选地,该初始代码可以是可复用的框架代码。
需要说明的是,由于本申请中的代码生成方法是基于NPM管理服务生成目标代码文件的,因此,该代码生成命令为命令行形式的命令。在本示例中,通过命令行形式的代码生成命令进行交互,更加便捷和高效。
S202:根据代码生成命令,获取目标代码模板。
其中,目标代码模板为用于生成目标代码文件的模板。可选地,该目标代码模板可以是根据用户实际需求的选择预先设置好的代码模板,或者用户自定义的代码模板。
作为一示例,服务器根据代码生成命令,获取目标代码模板。示例性地,服务器获取代码生成命令后,可通过预设的交互逻辑,接收客户端发送的模板选项信息,从而根据该模板选项信息获取目标代码模板。该预设的交互逻辑是指服务器与用户进行交互的逻辑。该模板选项信息包括但不限于用户通过客户端,从预先设置好的代码模板中选择的目标代码模板对应的选项信息。
作为一示例,该预设的交互逻辑可以是Q&A问答逻辑。
在本示例中,服务器根据代码生成命令,来获取目标代码模板,以在后续步骤中根据目标代码模板生成最终的目标代码文件,避免依靠人工进行代码复制和代码修改的过程中出现错误,提高代码生成过程中的可靠性。
S203:基于目标代码模板,获取与目标代码模板相对应的目标代码内容。
其中,目标代码内容是指与目标代码模板相对应的初始代码。可选地,该初始代码可以是预先部署在代码管理服务中的代码,也可以是用户对预先部署在代码管理服务中的代码进行修改后的代码。
作为一示例,服务器基于目标代码模板,获取与目标代码模板相对应的目标代码内容。在本示例中,目标代码内容可以是预先部署在代码管理服务中的初始代码,也即是预先写入在代码管理服务对应的内存中的代码,服务器基于目标代码模板,从代码管理服务对应的内存中,读取目标代码模板对应的目标代码内容,由于内存可以高速读写的特性,从而提高获取与目标代码模板相对应的目标代码内容的效率,进而提高生成目标代码文件的效率。
S204:根据目标代码内容,生成目标代码文件。
其中,目标代码文件为根据目标代码内容生成的代码文件。
作为一示例,服务器获取与目标代码模板相对应的目标代码内容后,便能够根据该目标代码内容,生成目标代码文件。示例性地,服务器可以根据用户实际需求,对目标代码内容进行配置,生成目标代码文件。可选地,对目标代码内容进行配置包括但不限于对目标代码内容对应的配置文件进行配置,和/或,对目标代码文件的存储路径进行配置。在本示例中,服务器根据目标代码内容,便能够生成目标代码文件,从而提高开发人员的工作效率。
在本实施例中,先通过获取代码生成命令,以通过代码生成命令与用户进行交互,更加的便捷和高效;然后根据代码生成命令,获取目标代码模板,并基于目标代码模板,获取与目标代码模板相对应的目标代码内容,提高生成目标代码内容的效率;最后根据目标代码内容,生成目标代码文件,避免依靠人工进行代码复制和代码修改的过程中出现错误,提高代码生成过程中的可靠性和效率。
在一实施例中,如图3所示,在步骤S202中,即根据代码生成命令,获取目标代码模板,包括:
S301:根据代码生成命令,进入模板选择界面。
其中,模板选择界面为用于选择代码模板的界面。
作为一示例,服务器获取代码生成命令后,触发预设的交互逻辑,从而进入模板选择界面,例如在客户端中显示模板选择界面,从而使用户能够通过客户端中显示的模板选择界面选择目标代码模板。
示例性地,用户在客户端中输入代码生成命令,客户端将代码生成命令发送至服务器,服务器接收到代码生成命令后,执行预设的交互逻辑,例如Q&A问答逻辑,从而在客户端中显示模板选择界面,以使用户可以根据实际需求选择代码模板。
S302:基于模板选择界面,从预定义代码模板或者自定义代码模板中,确定目标代码模板。
其中,预定义代码模板是指预先设置的,可以通用的代码模板。可选地,预定义代码模板可以是上下结构的代码模板、左右结构的代码模板或者页面表现形式的代码模板。示例性地,上下结构的代码模板可以是搜索表单与数据表格对应的代码模板。左右结构的代码模板可以是树形列表与数据表格对应的代码模板。页面表现形式的代码模板可以是长屏滚动的介绍页或者产品的展示页等。其中,数据表格是已包含标准显示数据表字段的表格。自定义代码模板是指用户根据实际需求指定的,能够实现特定功能的代码模板。
作为一示例,服务器接收代码生成命令后,在客户端中显示模板选择界面,使用户能够通过客户端中显示的模板选择界面,从预定义代码模板或者自定义代码模板中选择需要的代码模板,确定为目标代码模板。
在本实施例中,服务器先根据代码生成命令,进入模板选择界面,以使用户可以根据实际需求选择目标代码模板,再基于模板选择界面,从预定义代码模板或者自定义代码模板中,确定目标代码模板,以使用户可以根据实际的业务场景选择对应的目标代码模板,提高代码生成过程的灵活度。
在一实施例中,如图4所示,在步骤S203中,即基于目标代码模板,获取与目标代码模板相对应的目标代码内容,包括:
S401:基于目标代码模板,确定至少一个模板选项信息和目标选项顺序。
其中,模板选项信息是指自定义设置的供用户选择的模板信息。目标选项顺序是指自定义设置的用于选择模板选项信息的顺序。至少一个模板选项信息包括但不限于代码模板类型、代码对应的UI界面的组成结构和数据字段等。用户可以根据实际需求配置模板选项信息,以在后续步骤中根据模板选项信息,获取对应的目标代码内容。可选地,目标选项顺序可以是在同一目标选择界面中依次选择模板选项信息,或者同一模板选择界面中同时选择模板选项信息,用户可以根据实际需求设置,在此不做限制。
作为一示例,开发人员可以预先设置问题项和选择项。问题项也即是文本形式的模板选项信息,选择项即模板选项信息对应的具体模板内容。示例性地,问题项为代码模板类型,选择项为预定义代码模板或者自定义代码模板,如此,当服务器获取代码生成命令后,执行Q&A问答逻辑,用户便可以通过客户端显示的至少一个模板选项信息中,根据目标选项顺序选定目标代码模板,服务器便能够通过用户在客户端选择的目标代码模板,确定模板选项信息和目标选项顺序。
S402:获取每一模板选项信息对应的选项代码内容。
其中,选项代码内容是指与每一模板选项信息对应的代码内容。
作为一示例,服务器在确定每一模板选项信息后,便从预先部署在代码管理服务中的初始代码中获取每一模板选项信息对应的初始代码,并将每一模板选项信息对应的初始代码,确定为每一模板选项信息对应的选项代码内容。在本示例中,服务器通过确定每一模板选项信息,便能够获取每一模板选项信息对应的选项代码内容,从而避免依靠人工进行选项代码内容的选择,提高代码生成过程中的可靠性。
S403:基于目标选项顺序,对至少一个模板选项信息对应的选项代码内容进行处理,获取目标代码内容。
作为一示例,由于用户是根据目标选项顺序来选择至少一个模板选项信息来确定目标代码模板模板,因此,在服务器确定用户选择的至少一个模板选项信息后,基于目标选项顺序,对至少一个模板选项信息对应的选项代码内容进行处理,获取目标代码内容。可选地,对至少一个模板选项信息对应的选项代码内容进行处理,可以是对至少一个模板选项信息对应的选项代码内容进行合并,从而获取目标代码内容。在本示例中,服务器基于目标选项顺序,对至少一个模板选项信息对应的选项代码内容进行合并,来获取目标代码内容,能够防止对至少一个模板选项信息对应的选项代码内容进行处理时,出现处理错误的问题,在使用户能够根据实际业务需求生成目标代码内容的同时,保证获取目标代码内容过程中的可靠性。
在本实施例中,服务器首先基于目标代码模板,确定至少一个模板选项信息和目标选项顺序,然后获取每一模板选项信息对应的选项代码内容,并基于目标选项顺序,对至少一个模板选项信息对应的选项代码内容进行处理,获取目标代码内容,从而无需安装额外的依赖包,便能够通过用户的需求选择生成目标代码内容,以便在后续步骤中生成目标代码文件,提高代码生成的灵活性。
在一实施例中,如图5所示,在步骤S204中,即根据目标代码内容,生成目标代码文件,包括:
S501:根据目标代码内容,获取目标配置文件。
其中,目标配置文件是指用于配置目标代码内容的代码配置文件。
作为一示例,服务器根据确定的目标代码内容,获取与所述目标代码内容对应的代码配置文件,将其确定为目标配置文件。可选地,该代码配置文件可以是预先存储在内存中的配置文件,也可以是用户指定的配置文件,具体可根据实际的应用场景进行选择,在此不做限制。
S502:采用目标配置文件,对目标代码内容进行处理,获取目标代码文件。
作为一示例,服务器采用目标配置文件,对目标代码内容进行处理,获取目标代码文件。示例性地,服务器对目标配置文件进行分析,确定目标代码内容中初始代码的组合方式,并将目标配置文件对应的初始代码写入目标代码文件。
在本实施例中,服务器根据目标代码内容,获取目标配置文件,并采用目标配置文件,对目标代码内容进行处理,便能够获取目标代码文件,避免依靠人工进行代码复制和代码修改的过程中出现错误,提高代码生成过程中的可靠性和效率。
在一实施例中,如图6所示,在步骤S501中,即根据目标代码内容,获取目标配置文件,包括:
S601:根据目标代码内容的数据结构,获取与数据结构对应的指定配置文件。
其中,指定配置文件是指用户指定的配置文件。示例性地,该指定配置文件是指用户指定业务对应的数据结构对应的代码配置文件。可选地,该数据结构可以是为内存中保存的历史业务对应的数据结构。
作为一示例,用户可以通过客户端对目标代码内容的数据结构进行选择,服务器便可以根据目标代码内容的数据结构,从内存中获取该数据结构对应的代码配置文件。
S602:根据指定配置文件,获取目标配置文件。
作为一示例,服务器根据目标代码内容的数据结构,获取与数据结构对应的指定配置文件后,便可以直接将该指定配置文件确定为目标配置文件,以在后续步骤中采用目标配置文件对目标代码内容进行处理,便能够获取目标代码文件,避免依靠人工进行代码复制和代码修改的过程中出现错误,提高代码生成过程中的可靠性和效率。
在本实施例中,服务器根据目标代码内容的数据结构,获取与数据结构对应的指定配置文件,直接将该指定配置文件确定为目标配置文件,以在后续步骤中采用目标配置文件对目标代码内容进行处理,便能够获取目标代码文件。
在一实施例中,如图7所示,在步骤S502中,即采用目标配置文件,对目标代码内容进行处理,获取目标代码文件,包括:
S701:读取目标配置文件,获取目标配置文件的代码分析树。
其中,代码分析树是指目标配置文件中的分析树。
作为一示例,服务器读取目标配置文件,获取目标配置文件的代码分析树。可选地,采用AST(bstract Syntax Tree,抽象语法树,简称AST)方式,对目标配置文件进行读取,并创建目标配置文件的代码分析树。
S702:从代码分析树中,提取代码关键字。
其中,代码关键字是指在代码分析树中的关键字。
作为一示例,在采用AST方式创建代码分析树之后,便可以从该代码分析树中,提取代码关键字。
S703:根据代码关键字,确定组合代码块。
其中,组合代码块为根据代码关键字形成的代码块。
作为一示例,服务器根据代码关键字,映射对应的初始代码,并从映射的初始代码中,确定组合代码块,即将目标代码内容中的初始代码进行组合,形成组合代码块。
S704:根据组合代码块和目标代码内容,获取目标代码文件。
作为一示例,服务器在确定组合代码块后,便能够根据组合代码块和目标代码内容,将组合代码块和目标代码内容写入目标代码文件。
在本实施例中,服务器首先读取目标配置文件,并获取目标配置文件的代码分析树,以替代人工对目标配置文件进行分析,提高对目标配置文件进行分析的准确性;然后从代码分析树中,提取代码关键字;接着根据代码关键字,确定组合代码块,以通过代码关键字快速地确定组合代码块,提高确定组合代码块的效率;最后根据代码关键字,确定组合代码块,避免依靠人工进行代码复制和代码修改的过程中出现错误,提高代码生成过程中的可靠性和效率。
在一实施例中,如图8所示,在步骤S501中,步骤S204,即根据目标代码内容,生成目标代码文件,包括:
S801:根据目标代码内容,显示路径选择界面。
其中,路径选择界面是指在客户端上显示的界面,用于确定目标存储路径。目标存储路径为目标代码文件的存储路径。
作为一示例,服务器根据目标代码内容,在客户端上显示路径选择界面,提示用户可以在路径选择界面上确定目标代码文件对应的存储路径。在本示例中,用户可以在客户端上对目标代码文件的存储路径进行配置,以确定目标代码文件的存储路径。
S802:若在预设时间内,接收到基于路径选择界面确定的目标存储路径,则在目标存储路径中,生成目标代码文件。
其中,预设时间为自定义设置的时间。
作为一示例,若在预设时间内,接收到基于路径选择界面确定的目标存储路径,则基于用户配置的存储路径信息,获取对应的目标存储路径,并在目标存储路径中生成目标代码文件,从而实现目标代码文件的生成。
S803:若在预设时间内,未接收到基于路径选择界面确定的目标存储路径,则将目标代码内容的初始存储路径确认为目标存储路径,并在目标存储路径中生成目标代码文件。
其中,初始存储路径为初始代码所在的存储路径。
作为一示例,若在预设时间内,未接收到基于路径选择界面确定的目标存储路径,则将目标代码内容的初始存储路径确认为目标存储路径,并在目标存储路径中生成目标代码文件,从而实现目标代码文件的生成。
在本实施例中,通过配置目标代码文件的存储路径,以便于后续用户查找生成的目标代码文件,提高目标代码文件的可靠性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种代码生成装置,该代码生成装置与上述实施例中代码生成方法一一对应。如图9所示,该代码生成装置包括命令获取模块10、模板获取模块20、代码获取模块30和代码生成模块40。各功能模块详细说明如下:
命令获取模块10,用于获取代码生成命令;
模板获取模块20,用于根据代码生成命令,获取目标代码模板;
代码获取模块30,用于基于目标代码模板,获取与目标代码模板相对应的目标代码内容;
代码生成模块40,用于根据目标代码内容,生成目标代码文件。
进一步地,模板获取模块20包括:
选择界面子模块,用于根据代码生成命令,进入模板选择界面;
模板确认子模块,用于基于模板选择界面,从预定义代码模板或者自定义代码模板中,确定目标代码模板。
进一步地,代码获取模块30包括:
信息确定子模块,用于基于目标代码模板,确定至少一个模板选项信息和目标选项顺序;
选项代码子模块,用于获取每一模板选项信息对应的选项代码内容;
代码合并子模块,用于基于目标选项顺序,对至少一个模板选项信息对应的选项代码内容进行处理,获取目标代码内容。
进一步地,代码生成模块40包括:
文件获取子模块,用于根据目标代码内容,获取目标配置文件;
代码文件子模块,用于采用目标配置文件,对目标代码内容进行处理,获取目标代码文件。
进一步地,文件获取子模块包括:
文件获取单元,用于根据目标代码内容的数据结构,获取与数据结构对应的指定配置文件;
配置文件单元,根据指定配置文件,获取目标配置文件。
进一步地,代码文件子模块包括:
文件读取单元,用于读取目标配置文件,获取目标配置文件的代码分析树;
关键字单元,用于从代码分析树中,提取代码关键字;
代码块单元,用于根据代码关键字,确定组合代码块;
目标代码单元,用于根据组合代码块和目标代码内容,获取目标代码文件。
进一步地,代码生成模块40包括:
路径信息子模块,用于根据所述目标代码内容,显示路径选择界;
第一代码生成子模块,用于在所述预设时间内,接收到基于所述路径选择界面确定的目标存储路径时,则在所述目标存储路径中,生成所述目标代码文件;
第二代码生成子模块,用于在所述预设时间内,未接收到基于所述路径选择界面确定的所述目标存储路径时,则将所述目标代码内容的初始存储路径确认为所述目标存储路径,并在所述目标存储路径中生成所述目标代码文件。
关于代码生成装置的具体限定可以参见上文中对于代码生成方法的限定,在此不再赘述。上述代码生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于避免依靠人工进行代码复制和代码修改的过程中出现错误,提高代码生成过程中的可靠性和效率。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种代码生成方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中代码生成方法,例如步骤S201至步骤S204,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现代码生成装置这一实施例中的各模块/单元的功能,例如模块10至模块40,为避免重复,这里不再赘述。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中代码生成方法,例如步骤S201至步骤S204,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述代码生成装置这一实施例中的各模块/单元的功能,例如模块10至模块40,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种代码生成方法,其特征在于,包括:
获取代码生成命令;
根据所述代码生成命令,获取目标代码模板;
基于所述目标代码模板,获取与所述目标代码模板相对应的目标代码内容;
根据所述目标代码内容,生成目标代码文件。
2.如权利要求1所述的代码生成方法,其特征在于,所述根据所述代码生成命令,获取目标代码模板,包括:
根据所述代码生成命令,进入模板选择界面;
基于所述模板选择界面,从预定义代码模板或者自定义代码模板中,确定目标代码模板。
3.如权利要求1所述的代码生成方法,其特征在于,所述基于所述目标代码模板,获取与所述目标代码模板相对应的目标代码内容,包括:
基于所述目标代码模板,确定至少一个模板选项信息和目标选项顺序;
获取每一所述模板选项信息对应的选项代码内容;
基于所述目标选项顺序,对至少一个所述模板选项信息对应的选项代码内容进行处理,获取目标代码内容。
4.如权利要求1所述的代码生成方法,其特征在于,所述根据所述目标代码内容,生成目标代码文件,包括:
根据所述目标代码内容,获取目标配置文件;
采用所述目标配置文件,对所述目标代码内容进行处理,获取目标代码文件。
5.如权利要求4所述的代码生成方法,其特征在于,所述根据所述目标代码内容,获取目标配置文件,包括:
根据所述目标代码内容的数据结构,获取与所述数据结构对应的指定配置文件;
根据所述指定配置文件,获取目标配置文件。
6.如权利要求4所述的代码生成方法,其特征在于,所述采用所述目标配置文件,对所述目标代码内容进行处理,获取目标代码文件,包括:
读取所述目标配置文件,获取所述目标配置文件的代码分析树;
从所述代码分析树中,提取代码关键字;
根据所述代码关键字,确定组合代码块;
根据所述组合代码块和所述目标代码内容,获取目标代码文件。
7.如权利要求1所述的代码生成方法,其特征在于,所述根据所述目标代码内容,生成目标代码文件,包括:
根据所述目标代码内容,显示路径选择界面;
若在预设时间内,接收到基于所述路径选择界面确定的目标存储路径,则在所述目标存储路径中,生成所述目标代码文件;
若在所述预设时间内,未接收到基于所述路径选择界面确定的所述目标存储路径,则将所述目标代码内容的初始存储路径确认为所述目标存储路径,在所述目标存储路径中,生成所述目标代码文件。
8.一种代码生成装置,其特征在于,包括:
命令获取模块,用于获取代码生成命令;
模板获取模块,用于根据所述代码生成命令,获取目标代码模板;
代码获取模块,用于基于所述目标代码模板,获取与所述目标代码模板相对应的目标代码内容;
代码生成模块,用于根据所述目标代码内容,生成目标代码文件。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述代码生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述代码生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210360920.9A CN114840190A (zh) | 2022-04-07 | 2022-04-07 | 代码生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210360920.9A CN114840190A (zh) | 2022-04-07 | 2022-04-07 | 代码生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114840190A true CN114840190A (zh) | 2022-08-02 |
Family
ID=82564690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210360920.9A Pending CN114840190A (zh) | 2022-04-07 | 2022-04-07 | 代码生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840190A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115480745A (zh) * | 2022-08-25 | 2022-12-16 | 贝壳找房(北京)科技有限公司 | 基于配置文件的代码生成方法及装置 |
-
2022
- 2022-04-07 CN CN202210360920.9A patent/CN114840190A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115480745A (zh) * | 2022-08-25 | 2022-12-16 | 贝壳找房(北京)科技有限公司 | 基于配置文件的代码生成方法及装置 |
CN115480745B (zh) * | 2022-08-25 | 2023-10-24 | 贝壳找房(北京)科技有限公司 | 基于配置文件的代码生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN109542399B (zh) | 软件开发方法、装置、终端设备及计算机可读存储介质 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN108958714B (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
US11132114B2 (en) | Method and apparatus for generating customized visualization component | |
CN108388515B (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN110347383B (zh) | 跨平台桌面应用的前端开发方法及装置 | |
CN110231994B (zh) | 内存分析方法、装置和计算机可读存储介质 | |
CN113127347A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN109361628B (zh) | 报文组装方法、装置、计算机设备和存储介质 | |
CN111033465B (zh) | 终端装置、ui扩展方法和记录介质 | |
CN112988298B (zh) | 可视化界面配置方法、装置、计算机设备及存储介质 | |
CN112486828A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN110704095A (zh) | 基于工作流的配置处理方法、装置、计算机设备和存储介质 | |
CN109286517B (zh) | 创建服务的方法、装置和存储介质以及电子设备 | |
CN111797026A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN110888709A (zh) | 监控屏的智能操作方法、装置、计算机设备和存储介质 | |
CN111984239A (zh) | 一种页面配置方法、装置、服务器及存储介质 | |
CN112416318A (zh) | 微服务开发方法、装置、存储介质及电子设备 | |
CN111708971A (zh) | 页面配置方法、装置、计算机设备和存储介质 | |
CN114840190A (zh) | 代码生成方法、装置、计算机设备及存储介质 | |
CN115617780A (zh) | 数据导入方法、装置、设备及存储介质 | |
CN111428464A (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 |