CN106202006A - 文件生成方法和装置 - Google Patents
文件生成方法和装置 Download PDFInfo
- Publication number
- CN106202006A CN106202006A CN201610479082.1A CN201610479082A CN106202006A CN 106202006 A CN106202006 A CN 106202006A CN 201610479082 A CN201610479082 A CN 201610479082A CN 106202006 A CN106202006 A CN 106202006A
- Authority
- CN
- China
- Prior art keywords
- node
- code
- connecting line
- flow chart
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了文件生成方法和装置。所述方法的一具体实施方式包括:接收根据流程图生成代码的请求;根据所述请求,获取待生成代码的流程图,其中,所述流程图包括至少一个节点和至少一条节点间连接线,所述节点包括:节点标识和节点信息,所述节点信息包括:与所述节点对应的代码所在的文件名和函数名,所述节点间连接线包括:起始节点的节点标识、终止节点的节点标识和节点间路由数据,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径;根据所述流程图生成可扩展标记语言xml配置文件;根据所述xml配置文件生成代码文件并存储所述代码文件。该实施方式实现了基于流程图的高效率的代码生成。
Description
技术领域
本申请涉及计算机技术领域,具体涉及程序设计技术领域,尤其涉及文件生成方法和和装置。
背景技术
可配置程序设计是为了解决面向对象的程序设计关于接口的局限性而提出来的一种程序设计方法,目前基本采用配置文件来更改设置,不必重编译应用程序,使得业务逻辑分离出来。
然而现有技术实现可配置程序设计的方法不够直观,逻辑不清晰,编码效率低,理解性差。
发明内容
本申请的目的在于提出一种改进的文件生成方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种文件生成方法,所述方法包括:接收根据流程图生成代码的请求;根据所述请求,获取待生成代码的流程图,其中,所述流程图包括至少一个节点和至少一条节点间连接线,所述节点包括:节点标识和节点信息,所述节点信息包括:与所述节点对应的代码所在的文件名和函数名,所述节点间连接线包括:起始节点的节点标识、终止节点的节点标识和节点间路由数据,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径;根据所述流程图生成xml(eXtensible MarkupLanguage,可扩展标记语言)配置文件;根据所述xml配置文件生成代码文件并存储所述代码文件。
在一些实施例中,所述节点还包括节点图形,所述节点间连接线还包括节点间连接线图形,所述节点间连接线图形是起始于所述起始节点终止于所述终止节点的有向图形,所述节点图形、所述节点间路由数据和所述节点间连接线图形用于显示在所述流程图中。
在一些实施例中,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径,包括:所述节点间路由数据用于指示在执行完与所述起始节点对应的代码并生成返回值后,选择以所述起始节点为起点的节点间连接线中节点间路由数据与所述返回值相同的节点间连接线的终止节点作为下一节点,并继续执行与所述下一节点对应的代码。
在一些实施例中,所述根据所述流程图生成xml配置文件,包括:新建xml配置文件;对所述流程图中的每个节点,在所述xml配置文件中添加一个节点元素,其中,所述节点元素包括节点元素标识属性,将所述节点元素的节点元素标识属性的值设置为该节点的节点标识;对所述xml配置文件中的每个节点元素,为该节点元素添加函数子元素,其中,所述函数子元素包括文件名属性和函数名属性,分别将所述函数子元素的文件名属性的值和函数名属性的值设置为该节点元素所对应的节点的文件名和函数名;对所述xml配置文件中的每个节点元素,为该节点元素添加路由子元素,从所述流程图的节点间连接线中选取起始节点标识与该节点元素的节点元素标识属性值相同的节点间连接线,对所选取的节点间连接线中每条节点间连接线,为所述路由子元素添加下一步子元素,所述下一步子元素包括返回值属性和下一步节点标识属性,分别将所述下一步子元素返回值属性的值和下一步节点标识属性的值设置为该节点间连接线的节点间路由数据和终止节点标识;保存所述xml配置文件。
在一些实施例中,所述根据所述xml配置文件生成代码文件并存储所述代码文件,包括:将所述xml配置文件和代码生成模板文件加载至缓存中;将所述加载至缓存中的代码生成模板文件中的预设变量按照预设规则替换为所述加载至缓存中的xml配置文件中的各个元素,从而生成代码文件并存储所述代码文件。
在一些实施例中,所述节点图形为封闭图形,所述节点信息还包括对与所述节点对应的代码的功能进行描述的描述信息;以及所述描述信息以文字形式呈现在所述节点图形中。
第二方面,本申请提供了一种文件生成装置,所述装置包括:接收单元,配置用于接收根据流程图生成代码的请求;获取单元,配置用于根据所述请求,获取待生成代码的流程图,其中,所述流程图包括至少一个节点和至少一条节点间连接线,所述节点包括:节点标识和节点信息,所述节点信息包括:与所述节点对应的代码所在的文件名和函数名,所述节点间连接线包括:起始节点的节点标识、终止节点的节点标识和节点间路由数据,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径;配置文件生成单元,配置用于根据所述流程图生成xml配置文件;代码文件生成单元,配置用于根据所述xml配置文件生成代码文件并存储所述代码文件。
在一些实施例中,所述节点还包括节点图形,所述节点间连接线还包括节点间连接线图形,所述节点间连接线图形是起始于所述起始节点终止于所述终止节点的有向图形,所述节点图形、所述节点间路由数据和所述节点间连接线图形用于显示在所述流程图中。
在一些实施例中,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径,包括:所述节点间路由数据用于指示在执行完与所述起始节点对应的代码并生成返回值后,选择以所述起始节点为起点的节点间连接线中节点间路由数据与所述返回值相同的节点间连接线的终止节点作为下一节点,并继续执行与所述下一节点对应的代码。
在一些实施例中,所述配置文件生成单元包括:新建模块,配置用于新建xml配置文件;节点元素添加模块,配置用于对所述流程图中的每个节点,在所述xml配置文件中添加一个节点元素,其中,所述节点元素包括节点元素标识属性,将所述节点元素的节点元素标识属性的值设置为该节点的节点标识;函数子元素添加模块,配置用于对所述xml配置文件中的每个节点元素,为该节点元素添加函数子元素,其中,所述函数子元素包括文件名属性和函数名属性,分别将所述函数子元素的文件名属性的值和函数名属性的值设置为该节点元素所对应的节点的文件名和函数名;路由子元素添加模块,配置用于从所述流程图的节点间连接线中选取起始节点标识与该节点元素的节点元素标识属性值相同的节点间连接线,对所选取的节点间连接线中每条节点间连接线,为所述路由子元素添加下一步子元素,所述下一步子元素包括返回值属性和下一步节点标识属性,分别将所述下一步子元素返回值属性的值和下一步节点标识属性的值设置为该节点间连接线的节点间路由数据和终止节点标识;保存模块,配置用于保存所述xml配置文件。
在一些实施例中,所述代码文件生成单元包括:加载模块,配置用于将所述xml配置文件和代码生成模板文件加载至缓存中;替换及生成模块,配置用于将所述加载至缓存中的代码生成模板文件中的预设变量按照预设规则替换为所述加载至缓存中的xml配置文件中的各个元素,从而生成代码文件并存储所述代码文件。
在一些实施例中,所述节点图形为封闭图形,所述节点信息还包括对与所述节点对应的代码的功能进行描述的描述信息;以及所述描述信息以文字形式呈现在所述节点图形中。
本申请提供的文件生成方法和装置,通过接收根据流程图生成代码的请求,而后根据上述请求,获取待生成代码的流程图,接着根据流程图生成xml配置文件,最后根据xml配置文件生成代码文件并存储代码文件,实现了用直观的流程图自动生成代码文件,提高了编码效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的文件生成方法的一个实施例的流程图;
图3a-图3b是根据本申请的文件生成方法的一个应用场景的示意图;
图4是根据本申请的文件生成装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的文件生成方法或文件生成装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括电子设备101、102和网络103。网络103用以在电子设备101和102之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用电子设备101通过网络103与电子设备102交互,以接收或发送消息等。电子设备101、102上可以安装有各种客户端应用,例如图形编辑类应用、集成开发环境(IDE,Integrated Development Environment)类应用等。例如,电子设备101可以向电子设备102发送根据流程图生成代码的请求,电子设备102可以对接收到的根据流程图生成代码的请求等数据进行分析等处理,并从电子设备101获取待生成代码的流程图。
电子设备101、102可以是具有显示屏以及处理器的各种电子设备,包括但不限于膝上型便携计算机、台式计算机、服务器、工作站等等。
需要说明的是,本申请实施例所提供的文件生成方法可以由电子设备101或102中的任一电子设备执行,相应地,文件生成装置一般设置于电子设备101或102中。
请参考图2,其示出了根据本申请的文件生成方法的一个实施例的流程200。所述的文件生成方法,包括以下步骤:
步骤201,接收根据流程图生成代码的请求。
在本实施例中,文件生成方法运行于其上的电子设备可以本地或者远程地接收根据流程图生成代码的请求,即上述请求可以是用户使用上述电子设备本地发出的根据流程图生成代码的请求,上述请求也可以是远程地从与上述电子设备连接的其他电子设备中接收的根据流程图生成代码的请求。
在本实施例中,上述根据流程图生成代码的请求包括待生成代码的流程图。
步骤202,根据上述请求,获取待生成代码的流程图。
在本实施例中,上述电子设备可以根据上述请求,获取待生成代码的流程图。
在本实施例中,根据流程图生成代码的请求可以是用户在上述电子设备本地绘制完成流程图后即发起根据该流程图生成代码的请求;也可以是用户选择存储在上述电子设备本地的已经绘制完成的流程图并根据该流程图生成代码的请求,这样,上述电子设备可以根据上述请求,本地获取待生成代码的流程图。
在本实施例中,根据流程图生成代码的请求也可以是用户通过与上述电子设备连接的其他电子设备发起的请求,这样,上述电子设备可以根据上述请求,远程地从上述其他电子设备获取待生成代码的流程图。
在本实施例中,流程图可以包括至少一个节点和至少一条节点间连接线,其中,节点包括:节点标识和节点信息,节点信息包括:与该节点对应的代码所在的文件名和函数名,节点间连接线包括:起始节点的节点标识、终止节点的节点标识和节点间路由数据,其中,节点间路由数据用于指示执行完与上述起始节点对应的代码后的执行路径。
在本实施例的一些可选的实现方式中,节点还可以包括节点图形,节点间连接线还可以包括节点间连接线图形,节点间连接线图形可以是起始于起始节点终止于终止节点的有向图形,节点图形、节点间路由数据和节点间连接线图形可以用于显示在流程图中。
在本实施例的一些可选的实现方式中,节点间路由数据可以用于指示在执行完与起始节点对应的代码并生成返回值后,选择以起始节点为起点的节点间连接线中节点间路由数据与上述返回值相同的节点间连接线的终止节点作为下一节点,并继续执行与上述下一节点对应的代码。
在本实施例的一些可选的实现方式中,节点图形可以为封闭图形,节点信息还可以包括对与节点对应的代码的功能进行描述的描述信息,而上述描述信息可以以文字形式呈现在上述节点图形中。
在本实施例的一些可选的实现方式中,流程图还可以包括两种特殊的节点,开始节点和结束节点,流程图以开始节点为起点以结束节点为终点。起始节点和终止节点可以没有对应的代码。
步骤203,根据流程图生成xml配置文件。
在本实施例中,上述电子设备可以用各种方法根据流程图生成xml配置文件。
在本实施例的一些可选的实现方式中,上述电子设备可以按照如下步骤根据流程图生成xml配置文件:
步骤2031,新建xml配置文件。
步骤2032,对流程图中的每个节点,在xml配置文件中添加一个节点元素。
在本实施例中,上述电子设备可以对步骤202中获取的流程图中的每个节点,在步骤2031中新建的xml配置文件中添加一个节点元素,这里,节点元素包括节点元素标识属性,并将该节点元素的节点元素标识属性的值设置为该节点的节点标识。
步骤2033,对xml配置文件中的每个节点元素,为该节点元素添加函数子元素。
在本实施例中,上述电子设备可以对步骤2032中添加到xml配置文件中的每个节点元素,为该节点元素添加函数子元素,其中,函数子元素包括文件名属性和函数名属性,并分别将该函数子元素的文件名属性的值和函数名属性的值设置为该节点元素所对应的节点的文件名和函数名。
步骤2034,对xml配置文件中的每个节点元素,为该节点元素添加路由子元素。
在本实施例中,上述电子设备可以对步骤2032中添加到xml配置文件中的每个节点元素,首先为该节点元素添加路由子元素,然后从上述流程图的节点间连接线中选取起始节点标识与该节点元素的节点元素标识属性值相同的节点间连接线,接着对所选取的节点间连接线中每条节点间连接线,为上述路由子元素添加下一步子元素,这里,下一步子元素包括返回值属性和下一步节点标识属性,最后分别将该下一步子元素返回值属性的值和下一步节点标识属性的值设置为该节点间连接线的节点间路由数据和终止节点标识。
步骤2035,保存上述xml配置文件。
在本实施例中,上述电子设备可以在为上述xml配置文件添加完节点元素以及节点元素的函数子元素和路由子元素后保存上述xml配置文件。
步骤204,根据xml配置文件生成代码文件并存储代码文件。
在本实施例中,上述电子设备可以用各种方法根据xml配置文件生成代码文件。
在本实施例中,当根据流程图生成代码的请求是由上述电子设备本地发出的,存储代码文件可以是存储到上述电子设备本地;当根据流程图生成代码的请求是由与上述电子设备相连的其他电子设备发出的,存储代码文件也可以是远程地存储到上述其他电子设备中。
在本实施例的一些可选的实现方式中,根据xml配置文件生成代码文件并存储代码文件可以按照如下步骤进行:
步骤2041,将xml配置文件和代码生成模板文件加载至缓存中。
在本实施例中,上述电子设备可以首先获取xml配置文件和代码生成模板文件的存储路径,然后按照上述xml配置文件和代码生成模板文件的存储路径,读取该xml配置文件和代码生成模板文件的内容并写入到缓存中。xml配置文件和代码生成模板文件可以存储在上述电子设备本地或者与上述电子设备连接的其他电子设备中。
在本实施例中,代码生成模板文件可以是根据待生成代码文件的类型不同而不同的模板文件。待生成代码文件的类型可以是各种计算机语言的源代码文件。待生成代码文件的类型可以由上述电子设备根据用户的指令而设置的,例如,可以给用户提供设置界面,以将待生成代码文件的类型设置为“Java源代码”,或者待生成代码文件的类型也可以被缺省设置,例如“C语言源代码”。
步骤2042,将加载至缓存中的代码生成模板文件中的预设变量按照预设规则替换为加载至缓存中的xml配置文件中的各个元素,从而生成代码文件并存储上述代码文件。
在本实施例中,上述电子设备可以将xml配置文件和代码生成模板文件加载至缓存中之后,将加载至缓存中的代码生成模板文件中的预设变量按照预设规则替换为加载至缓存中的xml配置文件中的各个元素,从而生成代码文件并存储上述代码文件。
在本实施例的一些可选的实现方式中,上述预设规则可以包括下面两个规则:
函数替换规则,即对xml配置文件中的每个节点元素,将加载至缓存中的代码生成模板文件中与该节点元素对应的代码替换为该节点元素的函数子元素中的文件名属性值和函数名属性值所指示的函数中的代码;
路由替换规则,即对xml配置文件中的每个节点元素,将加载至缓存中的代码生成模板文件中与该节点元素对应的代码之后的条件判断代码替换为:根据执行完该节点元素对应的代码后得到的返回值,选择该节点元素的路由子元素的下一步子元素中返回值属性的值与上述返回值相同的下一步子元素的下一步节点标识属性的值所对应的节点的代码作为下一步将执行的代码。
下面参考图3a-图3b,图3a-图3b是根据本申请图2所述实施例的效果示意图。
首先,用户发起了根据如图3a所示的流程图生成代码的请求,在图3a中,流程图由开始节点301、解包节点302、公共参数初始化结束节点303、公共检查节点304、修改DNS节点305、改主机名节点306、更新操作状态节点307、打包节点308以及结束节点309组成,以公共参数初始化节点303为例,该节点的节点标识为“InitVar”,该节点的描述信息为“公共参数初始化”,与该节点对应的代码存储在文件名为“Common_Operate”的文件的“InitVar”函数内,以该节点为起点的节点间连接线有两条,其中一条节点间连接线的终止节点为节点标识为“TCZF_ComCheck”的公共检查节点304,节点间数据为“0”,另一条节点间连接线的终止节点为节点标识为“TCZF_ComPack”的打包节点308,节点间数据为“-1”。其中,“0”代表成功的返回值,“-1”代表失败的返回值。
然后,上述电子设备接收到上述请求后,获取上述流程图3a,并根据上述流程图3a生成xml配置文件,同样以公共参数初始化节点303为例,xml配置文件中的针对该节点的节点元素显示在图3b中。其中,如图3b中图标310所示为节点元素,图标311所示为函数子元素,图标312所示为路由子元素,图标313和图标314分别是图标312所示的路由子元素的两个下一步子元素。
最后根据上述xml配置文件生成代码文件并存储上述代码文件。
本申请的上述实施例提供的文件生成方法通过获取待生成代码的流程图,接着根据流程图生成xml配置文件,最后根据xml配置文件生成代码文件并存储代码文件,实现了用直观的流程图自动生成代码文件,提高了编码效率。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种文件生成装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的文件生成装置400包括:接收单元401、获取单元402、配置文件生成单元403和代码文件生成单元404。其中,接收单元401,配置用于接收根据流程图生成代码的请求;获取单元402,配置用于根据上述请求,获取待生成代码的流程图,其中,上述流程图包括至少一个节点和至少一条节点间连接线,上述节点包括:节点标识和节点信息,上述节点信息包括:与上述节点对应的代码所在的文件名和函数名,上述节点间连接线包括:起始节点的节点标识、终止节点的节点标识和节点间路由数据,上述节点间路由数据用于指示执行完与上述起始节点对应的代码后的执行路径;配置文件生成单元403,配置用于根据上述流程图生成xml配置文件;代码文件生成单元404,配置用于根据上述xml配置文件生成代码文件并存储上述代码文件。
在本实施例的一些可选的实现方式中,上述节点还包括节点图形,上述节点间连接线还包括节点间连接线图形,上述节点间连接线图形是起始于上述起始节点终止于上述终止节点的有向图形,上述节点图形、上述节点间路由数据和上述节点间连接线图形用于显示在上述流程图中。
在本实施例的一些可选的实现方式中,上述节点间路由数据用于指示执行完与上述起始节点对应的代码后的执行路径,包括:上述节点间路由数据用于指示在执行完与上述起始节点对应的代码并生成返回值后,选择以上述起始节点为起点的节点间连接线中节点间路由数据与上述返回值相同的节点间连接线的终止节点作为下一节点,并继续执行与上述下一节点对应的代码。
在本实施例的一些可选的实现方式中,上述配置文件生成单元403可以包括:新建模块4031,配置用于新建xml配置文件;节点元素添加模块4032,配置用于对上述流程图中的每个节点,在上述xml配置文件中添加一个节点元素,其中,上述节点元素包括节点元素标识属性,将上述节点元素的节点元素标识属性的值设置为该节点的节点标识;函数子元素添加模块4033,配置用于对上述xml配置文件中的每个节点元素,为该节点元素添加函数子元素,其中,上述函数子元素包括文件名属性和函数名属性,分别将上述函数子元素的文件名属性的值和函数名属性的值设置为该节点元素所对应的节点的文件名和函数名;路由子元素添加模块4034,配置用于对上述xml配置文件中的每个节点元素,为该节点元素添加路由子元素,从上述流程图的节点间连接线中选取起始节点标识与该节点元素的节点元素标识属性值相同的节点间连接线,对所选取的节点间连接线中每条节点间连接线,为上述路由子元素添加下一步子元素,上述下一步子元素包括返回值属性和下一步节点标识属性,分别将该下一步子元素返回值属性的值和下一步节点标识属性的值设置为该节点间连接线的节点间路由数据和终止节点标识;保存模块4035,配置用于保存上述xml配置文件。
在本实施例的一些可选的实现方式中,上述代码文件生成单元404可以包括:加载模块4041,配置用于将上述xml配置文件和代码生成模板文件加载至缓存中;替换及生成模块4042,配置用于将上述加载至缓存中的代码生成模板文件中的预设变量按照预设规则替换为上述加载至缓存中的xml配置文件中的各个元素,从而生成代码文件并存储上述代码文件。
在本实施例的一些可选的实现方式中,上述节点图形为封闭图形,上述节点信息还包括对与上述节点对应的代码的功能进行描述的描述信息;以及上述描述信息以文字形式呈现在上述节点图形中。
下面参考图5,其示出了适于用来实现本申请实施例的电子设备的计算机***500的结构示意图。
如图5所示,计算机***500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有***500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、获取单元、配置文件生成单元和代码文件生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收根据流程图生成代码的请求的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收根据流程图生成代码的请求;根据上述请求,获取待生成代码的流程图,其中,上述流程图包括至少一个节点和至少一条节点间连接线,上述节点包括:节点标识和节点信息,上述节点信息包括:与上述节点对应的代码所在的文件名和函数名,上述节点间连接线包括:起始节点的节点标识、终止节点的节点标识和节点间路由数据,上述节点间路由数据用于指示执行完与上述起始节点对应的代码后的执行路径;根据上述流程图生成xml配置文件;根据上述xml配置文件生成代码文件并存储上述代码文件。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种文件生成方法,其特征在于,所述方法包括:
接收根据流程图生成代码的请求;
根据所述请求,获取待生成代码的流程图,其中,所述流程图包括至少一个节点和至少一条节点间连接线,所述节点包括:节点标识和节点信息,所述节点信息包括:与所述节点对应的代码所在的文件名和函数名,所述节点间连接线包括:起始节点的节点标识、终止节点的节点标识和节点间路由数据,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径;
根据所述流程图生成可扩展标记语言xml配置文件;
根据所述xml配置文件生成代码文件并存储所述代码文件。
2.根据权利要求1所述的方法,其特征在于,所述节点还包括节点图形,所述节点间连接线还包括节点间连接线图形,所述节点间连接线图形是起始于所述起始节点终止于所述终止节点的有向图形,所述节点图形、所述节点间路由数据和所述节点间连接线图形用于显示在所述流程图中。
3.根据权利要求1所述的方法,其特征在于,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径,包括:
所述节点间路由数据用于指示在执行完与所述起始节点对应的代码并生成返回值后,选择以所述起始节点为起点的节点间连接线中节点间路由数据与所述返回值相同的节点间连接线的终止节点作为下一节点,并继续执行与所述下一节点对应的代码。
4.根据权利要求1所述的方法,其特征在于,所述根据所述流程图生成xml配置文件,包括:
新建xml配置文件;
对所述流程图中的每个节点,在所述xml配置文件中添加一个节点元素,其中,所述节点元素包括节点元素标识属性,将所述节点元素的节点元素标识属性的值设置为该节点的节点标识;
对所述xml配置文件中的每个节点元素,为该节点元素添加函数子元素,其中,所述函数子元素包括文件名属性和函数名属性,分别将所述函数子元素的文件名属性的值和函数名属性的值设置为该节点元素所对应的节点的文件名和函数名;
对所述xml配置文件中的每个节点元素,为该节点元素添加路由子元素,从所述流程图的节点间连接线中选取起始节点标识与该节点元素的节点元素标识属性值相同的节点间连接线,对所选取的节点间连接线中每条节点间连接线,为所述路由子元素添加下一步子元素,所述下一步子元素包括返回值属性和下一步节点标识属性,分别将所述下一步子元素返回值属性的值和下一步节点标识属性的值设置为该节点间连接线的节点间路由数据和终止节点标识;
保存所述xml配置文件。
5.根据权利要求4所述的方法,其特征在于,所述根据所述xml配置文件生成代码文件并存储所述代码文件,包括:
将所述xml配置文件和代码生成模板文件加载至缓存中;
将所述加载至缓存中的代码生成模板文件中的预设变量按照预设规则替换为所述加载至缓存中的xml配置文件中的各个元素,从而生成代码文件并存储所述代码文件。
6.根据权利要求2所述的方法,其特征在于,所述节点图形为封闭图形,所述节点信息还包括对与所述节点对应的代码的功能进行描述的描述信息;以及
所述描述信息以文字形式呈现在所述节点图形中。
7.一种文件生成装置,其特征在于,所述装置包括:
接收单元,配置用于接收根据流程图生成代码的请求;
获取单元,配置用于根据所述请求,获取待生成代码的流程图,其中,所述流程图包括至少一个节点和至少一条节点间连接线,所述节点包括:节点标识和节点信息,所述节点信息包括:与所述节点对应的代码所在的文件名和函数名,所述节点间连接线包括:起始节点的节点标识、终止节点的节点标识和节点间路由数据,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径;
配置文件生成单元,配置用于根据所述流程图生成xml配置文件;
代码文件生成单元,配置用于根据所述xml配置文件生成代码文件并存储所述代码文件。
8.根据权利要求7所述的装置,其特征在于,所述节点还包括节点图形,所述节点间连接线还包括节点间连接线图形,所述节点间连接线图形是起始于所述起始节点终止于所述终止节点的有向图形,所述节点图形、所述节点间路由数据和所述节点间连接线图形用于显示在所述流程图中。
9.根据权利要求7所述的装置,其特征在于,所述节点间路由数据用于指示执行完与所述起始节点对应的代码后的执行路径,包括:
所述节点间路由数据用于指示在执行完与所述起始节点对应的代码并生成返回值后,选择以所述起始节点为起点的节点间连接线中节点间路由数据与所述返回值相同的节点间连接线的终止节点作为下一节点,并继续执行与所述下一节点对应的代码。
10.根据权利要求7所述的装置,其特征在于,所述配置文件生成单元包括:
新建模块,配置用于新建xml配置文件;
节点元素添加模块,配置用于对所述流程图中的每个节点,在所述xml配置文件中添加一个节点元素,其中,所述节点元素包括节点元素标识属性,将所述节点元素的节点元素标识属性的值设置为该节点的节点标识;
函数子元素添加模块,配置用于对所述xml配置文件中的每个节点元素,为该节点元素添加函数子元素,其中,所述函数子元素包括文件名属性和函数名属性,分别将所述函数子元素的文件名属性的值和函数名属性的值设置为该节点元素所对应的节点的文件名和函数名;
路由子元素添加模块,配置用于从所述流程图的节点间连接线中选取起始节点标识与该节点元素的节点元素标识属性值相同的节点间连接线,对所选取的节点间连接线中每条节点间连接线,为所述路由子元素添加下一步子元素,所述下一步子元素包括返回值属性和下一步节点标识属性,分别将所述下一步子元素返回值属性的值和下一步节点标识属性的值设置为该节点间连接线的节点间路由数据和终止节点标识;
保存模块,配置用于保存所述xml配置文件。
11.根据权利要求10所述的装置,其特征在于,所述代码文件生成单元包括:
加载模块,配置用于将所述xml配置文件和代码生成模板文件加载至缓存中;
替换及生成模块,配置用于将所述加载至缓存中的代码生成模板文件中的预设变量按照预设规则替换为所述加载至缓存中的xml配置文件中的各个元素,从而生成代码文件并存储所述代码文件。
12.根据权利要求8所述的装置,其特征在于,所述节点图形为封闭图形,所述节点信息还包括对与所述节点对应的代码的功能进行描述的描述信息;以及
所述描述信息以文字形式呈现在所述节点图形中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610479082.1A CN106202006B (zh) | 2016-06-27 | 2016-06-27 | 文件生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610479082.1A CN106202006B (zh) | 2016-06-27 | 2016-06-27 | 文件生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106202006A true CN106202006A (zh) | 2016-12-07 |
CN106202006B CN106202006B (zh) | 2019-01-01 |
Family
ID=57461825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610479082.1A Active CN106202006B (zh) | 2016-06-27 | 2016-06-27 | 文件生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106202006B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301129A (zh) * | 2017-06-28 | 2017-10-27 | 百度在线网络技术(北京)有限公司 | 用于生成测试用例的方法和装置 |
CN107766304A (zh) * | 2017-10-23 | 2018-03-06 | 国电南瑞科技股份有限公司 | 一种基于xml的二进制配置文件生成方法 |
CN107977236A (zh) * | 2017-12-21 | 2018-05-01 | 上海智臻智能网络科技股份有限公司 | 问答***的生成方法、终端设备、存储介质及问答*** |
CN108256870A (zh) * | 2016-12-27 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 基于拓扑结构生成描述信息及更新、数据处理方法和装置 |
CN110363828A (zh) * | 2019-06-18 | 2019-10-22 | 深圳壹账通智能科技有限公司 | 一种绘制流程图的方法及绘制流程图的设备 |
CN110659027A (zh) * | 2019-09-20 | 2020-01-07 | 京东方科技集团股份有限公司 | 一种代码生成方法、装置及电子设备 |
CN113535151A (zh) * | 2020-04-14 | 2021-10-22 | 北京京东振世信息技术有限公司 | 代码生成方法和装置 |
CN114461198A (zh) * | 2021-12-27 | 2022-05-10 | 上海交通大学四川研究院 | 基于可视化低代码的程序生成方法、装置、设备及介质 |
CN115348178A (zh) * | 2022-08-29 | 2022-11-15 | 安天科技集团股份有限公司 | 节点控制方案生成方法及*** |
CN115935012A (zh) * | 2023-02-21 | 2023-04-07 | 云筑信息科技(成都)有限公司 | 一种基于xml的流程可视化标记语言的业务处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033748A (zh) * | 2010-12-03 | 2011-04-27 | 中国科学院软件研究所 | 一种数据处理流程代码的生成方法 |
CN102591654A (zh) * | 2011-12-28 | 2012-07-18 | 方正国际软件有限公司 | 一种基于ssh架构的代码生成器及方法 |
CN102831167A (zh) * | 2012-07-24 | 2012-12-19 | 东软集团股份有限公司 | 图结构的xml处理方法及装置 |
CN102915242A (zh) * | 2012-09-26 | 2013-02-06 | 北京广利核***工程有限公司 | 一种利用图形化操作实现代码编程的方法 |
CN102999323A (zh) * | 2011-09-16 | 2013-03-27 | 北京百度网讯科技有限公司 | 一种生成目标代码的方法、数据处理的方法及装置 |
CN104866298A (zh) * | 2014-02-26 | 2015-08-26 | 阿里巴巴集团控股有限公司 | 基于流程图的流程化业务实现方法和装置 |
-
2016
- 2016-06-27 CN CN201610479082.1A patent/CN106202006B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033748A (zh) * | 2010-12-03 | 2011-04-27 | 中国科学院软件研究所 | 一种数据处理流程代码的生成方法 |
CN102999323A (zh) * | 2011-09-16 | 2013-03-27 | 北京百度网讯科技有限公司 | 一种生成目标代码的方法、数据处理的方法及装置 |
CN102591654A (zh) * | 2011-12-28 | 2012-07-18 | 方正国际软件有限公司 | 一种基于ssh架构的代码生成器及方法 |
CN102831167A (zh) * | 2012-07-24 | 2012-12-19 | 东软集团股份有限公司 | 图结构的xml处理方法及装置 |
CN102915242A (zh) * | 2012-09-26 | 2013-02-06 | 北京广利核***工程有限公司 | 一种利用图形化操作实现代码编程的方法 |
CN104866298A (zh) * | 2014-02-26 | 2015-08-26 | 阿里巴巴集团控股有限公司 | 基于流程图的流程化业务实现方法和装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256870B (zh) * | 2016-12-27 | 2022-03-01 | 阿里巴巴集团控股有限公司 | 基于拓扑结构生成描述信息及更新、数据处理方法和装置 |
CN108256870A (zh) * | 2016-12-27 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 基于拓扑结构生成描述信息及更新、数据处理方法和装置 |
CN107301129A (zh) * | 2017-06-28 | 2017-10-27 | 百度在线网络技术(北京)有限公司 | 用于生成测试用例的方法和装置 |
CN107766304A (zh) * | 2017-10-23 | 2018-03-06 | 国电南瑞科技股份有限公司 | 一种基于xml的二进制配置文件生成方法 |
CN107977236B (zh) * | 2017-12-21 | 2020-11-13 | 上海智臻智能网络科技股份有限公司 | 问答***的生成方法、终端设备、存储介质及问答*** |
CN107977236A (zh) * | 2017-12-21 | 2018-05-01 | 上海智臻智能网络科技股份有限公司 | 问答***的生成方法、终端设备、存储介质及问答*** |
CN110363828A (zh) * | 2019-06-18 | 2019-10-22 | 深圳壹账通智能科技有限公司 | 一种绘制流程图的方法及绘制流程图的设备 |
CN110659027A (zh) * | 2019-09-20 | 2020-01-07 | 京东方科技集团股份有限公司 | 一种代码生成方法、装置及电子设备 |
CN113535151A (zh) * | 2020-04-14 | 2021-10-22 | 北京京东振世信息技术有限公司 | 代码生成方法和装置 |
CN113535151B (zh) * | 2020-04-14 | 2024-05-17 | 北京京东振世信息技术有限公司 | 代码生成方法和装置 |
CN114461198A (zh) * | 2021-12-27 | 2022-05-10 | 上海交通大学四川研究院 | 基于可视化低代码的程序生成方法、装置、设备及介质 |
CN114461198B (zh) * | 2021-12-27 | 2024-05-28 | 上海交通大学四川研究院 | 基于可视化低代码的程序生成方法、装置、设备及介质 |
CN115348178A (zh) * | 2022-08-29 | 2022-11-15 | 安天科技集团股份有限公司 | 节点控制方案生成方法及*** |
CN115935012A (zh) * | 2023-02-21 | 2023-04-07 | 云筑信息科技(成都)有限公司 | 一种基于xml的流程可视化标记语言的业务处理方法 |
CN115935012B (zh) * | 2023-02-21 | 2023-06-23 | 云筑信息科技(成都)有限公司 | 一种基于xml的流程可视化标记语言的业务处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106202006B (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106202006A (zh) | 文件生成方法和装置 | |
CN108279932B (zh) | 一种移动终端动态配置用户界面方法和装置 | |
CN106528432B (zh) | 测试场景数据的构建方法及装置、埋点测试方法 | |
CN108334387B (zh) | 动态界面渲染方法及装置 | |
US11132114B2 (en) | Method and apparatus for generating customized visualization component | |
CN108156022A (zh) | 一种服务调用方法、装置及电子设备 | |
CN105574092B (zh) | 信息挖掘方法和装置 | |
CN112100550A (zh) | 一种页面构建方法和装置 | |
CN106980508A (zh) | 用于生成页面的方法和装置 | |
CN105404507A (zh) | 一种流程模板的构建方法及*** | |
CN107066609A (zh) | 图片显示方法和装置 | |
CN106055383A (zh) | 请求处理方法和装置 | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
CN114003451B (zh) | 一种接口测试方法、装置、***及介质 | |
CN107741935A (zh) | 数据导入方法及数据导入装置 | |
CN106302103A (zh) | 一种信息处理方法及其***、应用服务器 | |
CN109447406A (zh) | 一种创建流程的方法以及创建流程的装置 | |
CN106919406A (zh) | 一种桌面应用组件发布、更新方法及装置 | |
CN109271160A (zh) | 活动规则组建方法、装置和计算机***、介质 | |
CN112486482A (zh) | 一种页面展示方法和装置 | |
CN109766095A (zh) | 一种活动专题页创建方法、相关装置和设备 | |
CN109669678A (zh) | 模板引擎整合方法、装置、电子设备及存储介质 | |
Addie et al. | Netml: networking networks | |
CN109725884A (zh) | 风控***配置方法、装置、设备及可读存储介质 | |
CN110765610A (zh) | Pdm集成方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |