CN108762764A - 代码自动生成方法、装置、计算机设备及存储介质 - Google Patents

代码自动生成方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN108762764A
CN108762764A CN201810569326.4A CN201810569326A CN108762764A CN 108762764 A CN108762764 A CN 108762764A CN 201810569326 A CN201810569326 A CN 201810569326A CN 108762764 A CN108762764 A CN 108762764A
Authority
CN
China
Prior art keywords
sentence
workflow
code
xml file
descriptive statement
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
CN201810569326.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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201810569326.4A priority Critical patent/CN108762764A/zh
Publication of CN108762764A publication Critical patent/CN108762764A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种代码自动生成方法、装置、计算机设备及存储介质。该方法包括:获取包括业务工作流信息的XML文件;解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句;根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段;将代码段依序进行组合,得到与XML文件对应的代码文件。该方法通过解析XML文件中的工作流语句,将工作流语句根据预先设置的代码模板生成对应的代码段,通过XML文件实现对代码的自动生成,提高了重复率高的代码段的开发效率。

Description

代码自动生成方法、装置、计算机设备及存储介质
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种代码自动生成方法、装置、计算机设备及存储介质。
背景技术
目前,在开发项目代码的过程中,一般是程序员根据项目的需求文档来开发,这就导致对开发人员的专业要求很高。而且项目开发中存在着大量的,逻辑相似的重复代码,若根据需求文档来完成整个项目开发,开发起来不仅仅效率低下,而且难以维护。
发明内容
本申请提供了一种代码自动生成方法、装置、计算机设备及存储介质,旨在解决现有技术中开发项目代码的过程中根据项目的需求文档来开发,无法避免逻辑相似代码的重复开发,导致开发效率低下的问题。
第一方面,本申请提供了一种代码自动生成方法,其包括:
获取包括业务工作流信息的XML文件;
解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句;
根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段;
将代码段依序进行组合,得到与XML文件对应的代码文件。
第二方面,本申请提供了一种代码自动生成装置,其包括:
XML文件获取单元,用于获取包括业务工作流信息的XML文件;
XML文件解析单元,用于解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句;
代码段生成单元,用于根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段;
代码段组合单元,用于将代码段依序进行组合,得到与XML文件对应的代码文件。
第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的代码自动生成方法。
第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的代码自动生成方法。
本申请提供一种代码自动生成方法、装置、计算机设备及存储介质。该方法通过获取包括业务工作流信息的XML文件;解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句;根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段;将代码段依序进行组合,得到与XML文件对应的代码文件。该方法通过解析XML文件中的工作流语句,将工作流语句根据预先设置的代码模板生成对应的代码段,通过XML文件实现对代码的自动生成,提高了重复率高的代码段的开发效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种代码自动生成方法的示意流程图;
图2是本申请实施例提供的一种代码自动生成方法的子流程示意图;
图3为本申请实施例提供的一种代码自动生成方法的另一子流程示意图;
图4为本申请实施例提供的一种代码自动生成方法的另一示意流程图;
图5为本申请实施例提供的一种代码自动生成装置的示意性框图;
图6为本申请实施例提供的一种代码自动生成装置的子单元示意性框图;
图7为本申请实施例提供的一种代码自动生成装置的另一子单元示意性框图;
图8为本申请实施例提供的一种代码自动生成装置的另一示意性框图;
图9为本申请实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本申请实施例提供的一种代码自动生成方法的示意流程图。该方法应用于台式电脑、手提电脑、平板电脑等终端中。如图1所示,该方法包括步骤S101~S104。
S101、获取包括业务工作流信息的XML文件。
在本实施例中,若开发人员接收到了项目开发的需求文档(需求文档也就是编程的依据)后,将需求文档中所包括的业务逻辑转化为包括软件程序的工作流的XML文件并上传至服务器端,由服务器端进行后续的代码自动生成流程。例如,XML文件中包括根据业务需求对应转化的参数定义,运算逻辑等信息。例如XML文件中定义了A参数,B参数等,并申明了进行A+B的运算这一运算逻辑。将需求文档经过开发人员或是预先训练的程序识别模型,能将需求文档转化为包括业务工作流信息的XML文件。而且通过XML文件来表示需求文档的业务工作流信息,能更容易被计算机识别。
S102、解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句。
在本实施例中,服务器端获取了XML文件,全文解析XML文件所对应的程序流程(即工作流语句),根据程序流程获知自动生成代码的逻辑来源。由于程序中,对数据的操作一般包括如下六种情况:增、删、改、查、判断、循环。业务逻辑无非是这六种情况的排列组合,故可通过XML文件来描述待开发的业务逻辑。
在一实施例中,如图2所示,步骤S102包括:
S1021、逐行获取XML文件中的描述语句;
S1022、判断当前行的描述语句对应的功能类型;
S1023、若当前行的描述语句为增加功能语句,将当前行的描述语句转化为增加功能的工作流语句;
S1024、若当前行的描述语句为删除功能语句,将当前行的描述语句转化为删除功能的工作流语句;
S1025、若当前行的描述语句为编辑功能语句,将当前行的描述语句转化为编辑功能的工作流语句;
S1026、若当前行的描述语句为查询功能语句,将当前行的描述语句转化为查询功能的工作流语句;
S1027、若当前行的描述语句为判断功能语句,将当前行的描述语句转化为判断功能的工作流语句;
S1028、若当前行的描述语句为循环功能语句,将当前行的描述语句转化为循环功能的工作流语句。
在本实施例中,通过判断当前行的描述语句是增、删、改、查、判断、循环中的哪一种,即可对应的获知每一行语句对应的工作流类型,方便后续根据工作流类型对每一行语句根据预先设置的模板转化为代码。
在一实施例中,所述逐行获取XML文件中的描述语句中,通过jsoup解析器逐行获取XML文件中的描述语句。
在本实施例中,服务器端配置的jsoup解析器,它是一款Java的解析器,可直接解析某个URL地址、HTML文本内容、XML文本内容等。通过jsoup解析器,能快速且准确的逐行获取XML文件中的描述语句。
S103、根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段。
在本实施例中,在预先设置代码模板时,可对上述举例的六种类型一一设置代码模板,在解析了XML文件对应的工作流后,可提取每一工作流中的具体数据或参数,填充至相应类型的代码模板中,得到与该工作流对应的代码段。
在一实施例中,如图3所示,步骤S103包括:
S1031、依序获取多段工作流语句中每一段工作流语句所包括的参数或数据值;
S1032、获取与每一段工作流语句一一对应的代码模板;
S1033、将每一段工作流语句所包括的参数或数据值填充至对应的代码模板,得到与每一段工作流语句一一对应的代码段。
即解析xml文件,同时调用对应的代码模板,将xml文件里面定义的数据填充至代码模板,最后生成代码即可;
例如,xml文件中第一行的描述语句为删除功能语句,则调用删除功能的代码模板,并将第一行的描述语句中包括的数据填充至删除功能的代码模板,得到与第一行的描述语句对应的代码段;
xml文件中第二行的描述语句为增加功能语句,则调用增加功能的代码模板,并将第二行的描述语句中包括的数据填充至增加功能的代码模板,得到与第二行的描述语句对应的代码段;
xml文件中第三行的描述语句为查询功能语句,则调用查询功能的代码模板,并将第三行的描述语句中包括的数据填充至查询功能的代码模板,得到与第三行的描述语句对应的代码段。
S104、将代码段依序进行组合,得到与XML文件对应的代码文件。
在本实施例中,根据代码模板将工作流的各行描述语句均转化了具体的代码,此时为了形成完成的代码文件,只需将所生成的代码段依序组合,形成一大段完整的代码段,即形成了与XML文件对应的代码文件,实现了根据XML文件自动转化为代码,提高了编程效率。
在一实施例中,如图4所示,步骤S100之前包括:
S1001、获取业务需求文档,根据业务需求文档的业务逻辑,将业务需求文档转化为包括业务工作流信息的XML文件。
在本实施例中,通过XML文件来表示需求文档的业务工作流信息,能更容易被计算机识别。而且将需求文档经过开发人员或是预先训练的程序识别模型,能将需求文档转化为包括业务工作流信息的XML文件。
可见,该方法通过解析XML文件中的工作流语句,将工作流语句根据预先设置的代码模板生成对应的代码段,通过XML文件实现对代码的自动生成,提高了重复率高的代码段的开发效率。
本申请实施例还提供一种代码自动生成装置,该代码自动生成装置用于执行前述代码自动生成方法的任一实施例。具体地,请参阅图5,图5是本申请实施例提供的一种代码自动生成装置的示意性框图。代码自动生成装置100可以配置于台式电脑、平板电脑、手提电脑、等终端中。
如图5所示,代码自动生成装置100包括XML文件获取单元101、XML文件解析单元102、代码段生成单元103、及代码段组合单元104。
XML文件获取单元101,用于获取包括业务工作流信息的XML文件。
在本实施例中,若开发人员接收到了项目开发的需求文档(需求文档也就是编程的依据)后,将需求文档中所包括的业务逻辑转化为包括软件程序的工作流的XML文件并上传至服务器端,由服务器端进行后续的代码自动生成流程。例如,XML文件中包括根据业务需求对应转化的参数定义,运算逻辑等信息。例如XML文件中定义了A参数,B参数等,并申明了进行A+B的运算这一运算逻辑。将需求文档经过开发人员或是预先训练的程序识别模型,能将需求文档转化为包括业务工作流信息的XML文件。而且通过XML文件来表示需求文档的业务工作流信息,能更容易被计算机识别。
XML文件解析单元102,用于解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句。
在本实施例中,服务器端获取了XML文件,全文解析XML文件所对应的程序流程(即工作流语句),根据程序流程获知自动生成代码的逻辑来源。由于程序中,对数据的操作一般包括如下六种情况:增、删、改、查、判断、循环。业务逻辑无非是这六种情况的排列组合,故可通过XML文件来描述待开发的业务逻辑。
在一实施例中,如图6所示,XML文件解析单元102包括:
逐行获取单元1021,用于逐行获取XML文件中的描述语句;
功能类型判断单元1022,用于判断当前行的描述语句对应的功能类型;
第一转化单元1023,用于若当前行的描述语句为增加功能语句,将当前行的描述语句转化为增加功能的工作流语句;
第二转化单元1024,用于若当前行的描述语句为删除功能语句,将当前行的描述语句转化为删除功能的工作流语句;
第三转化单元1025,用于若当前行的描述语句为编辑功能语句,将当前行的描述语句转化为编辑功能的工作流语句;
第四转化单元1026,用于若当前行的描述语句为查询功能语句,将当前行的描述语句转化为查询功能的工作流语句;
第五转化单元1027,用于若当前行的描述语句为判断功能语句,将当前行的描述语句转化为判断功能的工作流语句;
第六转化单元1028,用于若当前行的描述语句为循环功能语句,将当前行的描述语句转化为循环功能的工作流语句。
在本实施例中,通过判断当前行的描述语句是增、删、改、查、判断、循环中的哪一种,即可对应的获知每一行语句对应的工作流类型,方便后续根据工作流类型对每一行语句根据预先设置的模板转化为代码。
在一实施例中,所述逐行获取XML文件中的描述语句中,通过jsoup解析器逐行获取XML文件中的描述语句。
在本实施例中,服务器端配置的jsoup解析器,它是一款Java的解析器,可直接解析某个URL地址、HTML文本内容、XML文本内容等。通过jsoup解析器,能快速且准确的逐行获取XML文件中的描述语句。
代码段生成单元103,用于根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段。
在本实施例中,在预先设置代码模板时,可对上述举例的六种类型一一设置代码模板,在解析了XML文件对应的工作流后,可提取每一工作流中的具体数据或参数,填充至相应类型的代码模板中,得到与该工作流对应的代码段。
在一实施例中,如图7所示,代码段生成单元103包括:
参数或数值获取单元1031,用于依序获取多段工作流语句中每一段工作流语句所包括的参数或数据值;
代码模板对应单元1032,用于获取与每一段工作流语句一一对应的代码模板;
参数或数值填充单元1033,用于将每一段工作流语句所包括的参数或数据值填充至对应的代码模板,得到与每一段工作流语句一一对应的代码段。
即解析xml文件,同时调用对应的代码模板,将xml文件里面定义的数据填充至代码模板,最后生成代码即可;
例如,xml文件中第一行的描述语句为删除功能语句,则调用删除功能的代码模板,并将第一行的描述语句中包括的数据填充至删除功能的代码模板,得到与第一行的描述语句对应的代码段;
xml文件中第二行的描述语句为增加功能语句,则调用增加功能的代码模板,并将第二行的描述语句中包括的数据填充至增加功能的代码模板,得到与第二行的描述语句对应的代码段;
xml文件中第三行的描述语句为查询功能语句,则调用查询功能的代码模板,并将第三行的描述语句中包括的数据填充至查询功能的代码模板,得到与第三行的描述语句对应的代码段。
代码段组合单元104,用于将代码段依序进行组合,得到与XML文件对应的代码文件。
在本实施例中,根据代码模板将工作流的各行描述语句均转化了具体的代码,此时为了形成完成的代码文件,只需将所生成的代码段依序组合,形成一大段完整的代码段,即形成了与XML文件对应的代码文件,实现了根据XML文件自动转化为代码,提高了编程效率。
在一实施例中,如图8所示,代码自动生成装置100还包括:
需求文档转化单元1001,用于获取业务需求文档,根据业务需求文档的业务逻辑,将业务需求文档转化为包括业务工作流信息的XML文件。
在本实施例中,通过XML文件来表示需求文档的业务工作流信息,能更容易被计算机识别。而且将需求文档经过开发人员或是预先训练的程序识别模型,能将需求文档转化为包括业务工作流信息的XML文件。
可见,该装置通过解析XML文件中的工作流语句,将工作流语句根据预先设置的代码模板生成对应的代码段,通过XML文件实现对代码的自动生成,提高了重复率高的代码段的开发效率。
上述代码自动生成装置可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是终端。该终端可以是平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种代码自动生成方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种代码自动生成方法。
该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:获取包括业务工作流信息的XML文件;解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句;根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段;将代码段依序进行组合,得到与XML文件对应的代码文件。
在一实施例中,处理器502还执行如下操作:逐行获取XML文件中的描述语句;判断当前行的描述语句对应的功能类型;若当前行的描述语句为增加功能语句,将当前行的描述语句转化为增加功能的工作流语句;若当前行的描述语句为删除功能语句,将当前行的描述语句转化为删除功能的工作流语句;若当前行的描述语句为编辑功能语句,将当前行的描述语句转化为编辑功能的工作流语句;若当前行的描述语句为查询功能语句,将当前行的描述语句转化为查询功能的工作流语句;若当前行的描述语句为判断功能语句,将当前行的描述语句转化为判断功能的工作流语句;若当前行的描述语句为循环功能语句,将当前行的描述语句转化为循环功能的工作流语句。
在一实施例中,处理器502还执行如下操作:所述逐行获取XML文件中的描述语句中,通过jsoup解析器逐行获取XML文件中的描述语句。
在一实施例中,处理器502还执行如下操作:依序获取多段工作流语句中每一段工作流语句所包括的参数或数据值;获取与每一段工作流语句一一对应的代码模板;将每一段工作流语句所包括的参数或数据值填充至对应的代码模板,得到与每一段工作流语句一一对应的代码段。
在一实施例中,处理器502还执行如下操作:获取业务需求文档,根据业务需求文档的业务逻辑,将业务需求文档转化为包括业务工作流信息的XML文件。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:获取包括业务工作流信息的XML文件;解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句;根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段;将代码段依序进行组合,得到与XML文件对应的代码文件。
在一实施例中,该程序指令被处理器执行时实现:逐行获取XML文件中的描述语句;判断当前行的描述语句对应的功能类型;若当前行的描述语句为增加功能语句,将当前行的描述语句转化为增加功能的工作流语句;若当前行的描述语句为删除功能语句,将当前行的描述语句转化为删除功能的工作流语句;若当前行的描述语句为编辑功能语句,将当前行的描述语句转化为编辑功能的工作流语句;若当前行的描述语句为查询功能语句,将当前行的描述语句转化为查询功能的工作流语句;若当前行的描述语句为判断功能语句,将当前行的描述语句转化为判断功能的工作流语句;若当前行的描述语句为循环功能语句,将当前行的描述语句转化为循环功能的工作流语句。
在一实施例中,该程序指令被处理器执行时实现:所述逐行获取XML文件中的描述语句中,通过jsoup解析器逐行获取XML文件中的描述语句。
在一实施例中,该程序指令被处理器执行时实现:依序获取多段工作流语句中每一段工作流语句所包括的参数或数据值;获取与每一段工作流语句一一对应的代码模板;将每一段工作流语句所包括的参数或数据值填充至对应的代码模板,得到与每一段工作流语句一一对应的代码段。
在一实施例中,该程序指令被处理器执行时实现:获取业务需求文档,根据业务需求文档的业务逻辑,将业务需求文档转化为包括业务工作流信息的XML文件。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种代码自动生成方法,其特征在于,包括:
获取包括业务工作流信息的XML文件;
解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句;
根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段;
将代码段依序进行组合,得到与XML文件对应的代码文件。
2.根据权利要求1所述的代码自动生成方法,其特征在于,所述解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句,包括:
逐行获取XML文件中的描述语句;
判断当前行的描述语句对应的功能类型;
若当前行的描述语句为增加功能语句,将当前行的描述语句转化为增加功能的工作流语句;
若当前行的描述语句为删除功能语句,将当前行的描述语句转化为删除功能的工作流语句;
若当前行的描述语句为编辑功能语句,将当前行的描述语句转化为编辑功能的工作流语句;
若当前行的描述语句为查询功能语句,将当前行的描述语句转化为查询功能的工作流语句;
若当前行的描述语句为判断功能语句,将当前行的描述语句转化为判断功能的工作流语句;
若当前行的描述语句为循环功能语句,将当前行的描述语句转化为循环功能的工作流语句。
3.根据权利要求2所述的代码自动生成方法,其特征在于,所述逐行获取XML文件中的描述语句中,通过jsoup解析器逐行获取XML文件中的描述语句。
4.根据权利要求2所述的代码自动生成方法,其特征在于,所述根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段,包括:
依序获取多段工作流语句中每一段工作流语句所包括的参数或数据值;
获取与每一段工作流语句一一对应的代码模板;
将每一段工作流语句所包括的参数或数据值填充至对应的代码模板,得到与每一段工作流语句一一对应的代码段。
5.根据权利要求1所述的代码自动生成方法,其特征在于,所述获取包括业务工作流信息的XML文件之前,还包括:
获取业务需求文档,根据业务需求文档的业务逻辑,将业务需求文档转化为包括业务工作流信息的XML文件。
6.一种代码自动生成装置,其特征在于,包括:
XML文件获取单元,用于获取包括业务工作流信息的XML文件;
XML文件解析单元,用于解析XML文件,按XML文件中语句的先后顺序依序获取XML文件所对应的多段工作流语句;
代码段生成单元,用于根据预先设置的代码模板,依序生成与多段工作流语句中每一段工作流语句一一对应的代码段;
代码段组合单元,用于将代码段依序进行组合,得到与XML文件对应的代码文件。
7.根据权利要求6所述的代码自动生成装置,其特征在于,所述XML文件解析单元,包括:
逐行获取单元,用于逐行获取XML文件中的描述语句;
功能类型判断单元,用于判断当前行的描述语句对应的功能类型;
第一转化单元,用于若当前行的描述语句为增加功能语句,将当前行的描述语句转化为增加功能的工作流语句;
第二转化单元,用于若当前行的描述语句为删除功能语句,将当前行的描述语句转化为删除功能的工作流语句;
第三转化单元,用于若当前行的描述语句为编辑功能语句,将当前行的描述语句转化为编辑功能的工作流语句;
第四转化单元,用于若当前行的描述语句为查询功能语句,将当前行的描述语句转化为查询功能的工作流语句;
第五转化单元,用于若当前行的描述语句为判断功能语句,将当前行的描述语句转化为判断功能的工作流语句;
第六转化单元,用于若当前行的描述语句为循环功能语句,将当前行的描述语句转化为循环功能的工作流语句。
8.根据权利要求7所述的代码自动生成装置,其特征在于,所述代码段生成单元,包括:
参数或数值获取单元,用于依序获取多段工作流语句中每一段工作流语句所包括的参数或数据值;
代码模板对应单元,用于获取与每一段工作流语句一一对应的代码模板;
参数或数值填充单元,用于将每一段工作流语句所包括的参数或数据值填充至对应的代码模板,得到与每一段工作流语句一一对应的代码段。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的代码自动生成方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的代码自动生成方法。
CN201810569326.4A 2018-06-05 2018-06-05 代码自动生成方法、装置、计算机设备及存储介质 Pending CN108762764A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810569326.4A CN108762764A (zh) 2018-06-05 2018-06-05 代码自动生成方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810569326.4A CN108762764A (zh) 2018-06-05 2018-06-05 代码自动生成方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN108762764A true CN108762764A (zh) 2018-11-06

Family

ID=63999854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810569326.4A Pending CN108762764A (zh) 2018-06-05 2018-06-05 代码自动生成方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN108762764A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522013A (zh) * 2018-11-08 2019-03-26 网宿科技股份有限公司 一种业务功能的代码生成方法及装置
CN109670601A (zh) * 2018-12-21 2019-04-23 拉扎斯网络科技(上海)有限公司 机器学习特征生成方法及装置、电子设备和存储介质
CN109828754A (zh) * 2018-12-14 2019-05-31 深圳壹账通智能科技有限公司 一种程序开发项目的智能交接方法、装置及设备
CN110083351A (zh) * 2019-04-22 2019-08-02 北京百度网讯科技有限公司 用于生成代码的方法和装置
CN110209387A (zh) * 2019-05-27 2019-09-06 大唐微电子技术有限公司 一种顶层hdl文件生成方法和装置、计算机可读存储介质
CN110221824A (zh) * 2019-06-03 2019-09-10 精硕科技(北京)股份有限公司 组件的生成方法和装置
CN110321129A (zh) * 2019-05-20 2019-10-11 深圳壹账通智能科技有限公司 基于开发工具的业务执行方法、装置和计算机设备
CN110795089A (zh) * 2019-10-29 2020-02-14 中国建设银行股份有限公司 一种代码生成方法、装置、设备和存储介质
CN111142933A (zh) * 2019-05-29 2020-05-12 浙江大搜车软件技术有限公司 工作流生成方法、装置、计算机设备和存储介质
CN111258564A (zh) * 2020-01-17 2020-06-09 通号万全信号设备有限公司 一种基于qt自动生成代码的方法及装置
CN112269566A (zh) * 2020-11-03 2021-01-26 支付宝(杭州)信息技术有限公司 脚本生成处理方法、装置、设备及系统
CN112445491A (zh) * 2020-11-19 2021-03-05 深圳市元征科技股份有限公司 文件序列处理方法、装置、终端设备及存储介质
CN112836033A (zh) * 2021-02-25 2021-05-25 平安银行股份有限公司 业务模型的管理方法、装置、设备及存储介质
CN114327464A (zh) * 2021-12-31 2022-04-12 北京瑞莱智慧科技有限公司 一种组件构建方法、装置及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132339A1 (en) * 2003-12-10 2005-06-16 Jonathan Maron Code generation facility
US20070006188A1 (en) * 2005-05-19 2007-01-04 Albrecht Schroth Modular code generation
CN101645010A (zh) * 2009-08-20 2010-02-10 深圳市珍爱网信息技术有限公司 代码自动生成系统及方法
CN103235718A (zh) * 2013-03-28 2013-08-07 迈普通信技术股份有限公司 一种远程过程调用rpc代码生成的方法及装置
US20140068552A1 (en) * 2012-09-05 2014-03-06 Vojtech Szocs Infrastructure for automatically generating boilerplate code using annotations and code-generators
CN106919434A (zh) * 2017-03-22 2017-07-04 恒生电子股份有限公司 一种代码生成方法及装置
CN107273117A (zh) * 2017-05-25 2017-10-20 深圳市彬讯科技有限公司 一种编程友好型的敏捷代码自动生成系统
CN107291450A (zh) * 2017-05-25 2017-10-24 深圳市彬讯科技有限公司 一种编程友好型的敏捷代码自动生成方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132339A1 (en) * 2003-12-10 2005-06-16 Jonathan Maron Code generation facility
US20070006188A1 (en) * 2005-05-19 2007-01-04 Albrecht Schroth Modular code generation
CN101645010A (zh) * 2009-08-20 2010-02-10 深圳市珍爱网信息技术有限公司 代码自动生成系统及方法
US20140068552A1 (en) * 2012-09-05 2014-03-06 Vojtech Szocs Infrastructure for automatically generating boilerplate code using annotations and code-generators
CN103235718A (zh) * 2013-03-28 2013-08-07 迈普通信技术股份有限公司 一种远程过程调用rpc代码生成的方法及装置
CN106919434A (zh) * 2017-03-22 2017-07-04 恒生电子股份有限公司 一种代码生成方法及装置
CN107273117A (zh) * 2017-05-25 2017-10-20 深圳市彬讯科技有限公司 一种编程友好型的敏捷代码自动生成系统
CN107291450A (zh) * 2017-05-25 2017-10-24 深圳市彬讯科技有限公司 一种编程友好型的敏捷代码自动生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张琼等: "基于XML的代码自动生成工具", 《电子科技》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522013A (zh) * 2018-11-08 2019-03-26 网宿科技股份有限公司 一种业务功能的代码生成方法及装置
CN109828754A (zh) * 2018-12-14 2019-05-31 深圳壹账通智能科技有限公司 一种程序开发项目的智能交接方法、装置及设备
CN109670601A (zh) * 2018-12-21 2019-04-23 拉扎斯网络科技(上海)有限公司 机器学习特征生成方法及装置、电子设备和存储介质
CN109670601B (zh) * 2018-12-21 2021-06-29 拉扎斯网络科技(上海)有限公司 机器学习特征生成方法及装置、电子设备和存储介质
CN110083351A (zh) * 2019-04-22 2019-08-02 北京百度网讯科技有限公司 用于生成代码的方法和装置
CN110321129A (zh) * 2019-05-20 2019-10-11 深圳壹账通智能科技有限公司 基于开发工具的业务执行方法、装置和计算机设备
CN110209387A (zh) * 2019-05-27 2019-09-06 大唐微电子技术有限公司 一种顶层hdl文件生成方法和装置、计算机可读存储介质
CN110209387B (zh) * 2019-05-27 2023-08-15 大唐微电子技术有限公司 一种顶层hdl文件生成方法和装置、计算机可读存储介质
CN111142933A (zh) * 2019-05-29 2020-05-12 浙江大搜车软件技术有限公司 工作流生成方法、装置、计算机设备和存储介质
CN110221824A (zh) * 2019-06-03 2019-09-10 精硕科技(北京)股份有限公司 组件的生成方法和装置
CN110221824B (zh) * 2019-06-03 2024-03-22 北京秒针人工智能科技有限公司 组件的生成方法和装置
CN110795089A (zh) * 2019-10-29 2020-02-14 中国建设银行股份有限公司 一种代码生成方法、装置、设备和存储介质
CN111258564A (zh) * 2020-01-17 2020-06-09 通号万全信号设备有限公司 一种基于qt自动生成代码的方法及装置
CN111258564B (zh) * 2020-01-17 2024-04-26 通号万全信号设备有限公司 一种基于qt自动生成代码的方法及装置
CN112269566A (zh) * 2020-11-03 2021-01-26 支付宝(杭州)信息技术有限公司 脚本生成处理方法、装置、设备及系统
CN112445491A (zh) * 2020-11-19 2021-03-05 深圳市元征科技股份有限公司 文件序列处理方法、装置、终端设备及存储介质
CN112836033A (zh) * 2021-02-25 2021-05-25 平安银行股份有限公司 业务模型的管理方法、装置、设备及存储介质
CN112836033B (zh) * 2021-02-25 2023-12-01 平安银行股份有限公司 业务模型的管理方法、装置、设备及存储介质
CN114327464A (zh) * 2021-12-31 2022-04-12 北京瑞莱智慧科技有限公司 一种组件构建方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN108762764A (zh) 代码自动生成方法、装置、计算机设备及存储介质
CN108804322A (zh) 自动化测试方法、装置、计算机设备及存储介质
US8689177B2 (en) Integration environment generator
CN101841515B (zh) 可变目标的协议数据单元编解码代码自动生成的实现方法
CN107729003A (zh) 代码的自动生成方法、装置及电子设备
CN107526645B (zh) 一种通信优化方法及系统
CN109213854A (zh) 知识图谱信息管理方法、装置、计算机设备及存储介质
CN109240688A (zh) 界面开发方法、电子装置及可读存储介质
CN101996132A (zh) 公用对象请求代理程序体系结构接口自动测试方法和装置
CN108664406A (zh) 移动应用的开发测试方法、终端设备及介质
CN109766097A (zh) Ui生成方法、装置、电子设备及计算机可读存储介质
CN110113196A (zh) 一种协议配置方法、装置、设备及介质
CN106408170A (zh) 一种电子工单处理方法、工作流引擎及电子工单系统
CN109460220A (zh) 报文预定义代码生成方法、装置、电子设备和存储介质
CN109408247A (zh) 交互数据处理方法及装置
CN110262783A (zh) 一种接口生成方法、装置及终端设备
CN109189393A (zh) 业务处理方法及装置
CN108984499A (zh) 报表数据处理方法和装置、电子设备和可读存储介质
CN104267966A (zh) 软件的程序代码的生成方法及装置
CN108415894A (zh) 报表数据初始化方法、装置、计算机设备及存储介质
CN108446371A (zh) 数据回导方法、装置、计算机设备及存储介质
CN111104181A (zh) 一种可视化编辑任务流程的网页数据填报系统
CN109542398A (zh) 一种业务系统生成方法、装置及计算机可读存储介质
CN110058849A (zh) 流程图的生成方法、装置、计算机设备以及存储介质
CN103646015B (zh) 发送、接收以及传输xml报文的方法和系统

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: 20181106