代码生成方法及其装置与流程

文档序号:12718693阅读:538来源:国知局
代码生成方法及其装置与流程

本发明涉及计算机领域,具体而言,涉及一种代码生成方法及其装置。



背景技术:

随着互联网技术的发展与普及,越来越多的公司利用互联网技术进行日常的工作,如用于公司内部作业的OA办公系统、对外的网络宣传系统等。各系统中均包含由公司内部自行开发或委托其他软件公司开发的相应应用模块。而由于软件开发人员的技术背景、编程习惯或能力的不同,往往其开发的应用模块所使用的编程语言、接口均不同,这就为整合各应用模块到公司统一操作平台时带来了诸多困难。



技术实现要素:

本发明的一个主要目的在于克服上述现有技术的至少一种缺陷,提供一种代码生成方法。

本发明的另一个主要目的在于克服上述现有技术的至少一种缺陷,提供一种代码生成装置。

本发明的额外方面和优点将部分地在下面的描述中阐述,并且部分地将从描述中变得显然,或者可以通过本发明的实践而习得。

为实现上述发明目的,本发明采用如下技术方案:

根据本发明的一个方面,提供了一种代码生成方法,包括:接收用户输入的执行指令;根据所述执行指令,调用流程文件及配置文件,其中所述流程文件为预先定义的;基于所述流程文件,读取所述配置文件中的信息,并根据所述配置文件中的信息,依次读取预先定义的模板文件中的至少一个代码模板;以及根据所述至少一个代码模板,生成相应的代码文件。

于一实施方式中,该代码生成方法还包括:接收用户根据其需求输入的所述配置文件中的信息。

于另一实施方式中,所述配置文件中的信息包括:至少一个对应于待生成的所述代码文件的任务信息、待生成的所述代码文件的名称、待生成的所述代码文件的存储地址和待生成的所述代码文件的语言类型中的至少其中之一。

于再一实施方式中,所述任务信息包括:待访问数据库的类型、待访问数据库的地址、根据从所述数据库中读取的数据而创建的数据文件和对所述数据文件的操作任务类型中的至少其中之一。

于再一实施方式中,所述用户输入的执行指令包括:用户输入的执行预先定义的批处理文件的指令。

于再一实施方式中,所述至少一个代码模板包括:由JAVA语言编写的和/或由C语言编写的、用于执行至少一个任务的代码模板。

于再一实施方式中,所述流程文件包括:函数名、函数调用信息和函数实现中的至少其中之一。

于再一实施方式中,所述流程文件和所述模板文件封装为jar文件。

于再一实施方式中,生成的所述代码文件包括:JAVA前端jsp文件、JAVA后端各JAVA文件和与数据库交互相关的JAVA文件中的至少其中之一。

根据本发明的另一方面,提供了一种代码生成装置,包括:接口模块,用于接收用户输入的执行指令;文件调用模块,用于根据所述执行指令,调用流程文件及配置文件,其中所述流程文件为预先定义的;文件读取模块,用于基于所述流程文件,读取所述配置文件中的信息,并根据所述配置文件中的信息,依次读取预先定义的模板文件中的至少一个代码模板;以及代码生成模块,用于根据所述至少一个代码模板,生成相应的代码文件。

于一实施方式中,该代码生成装置还包括:文件配置模块,用于接收用户根据其需求输入的所述配置文件中的信息。

于另一实施方式中,所述配置文件中的信息包括:至少一个对应于待生成的所述代码文件的任务信息、待生成的所述代码文件的名称、待 生成的所述代码文件的存储地址和待生成的所述代码文件的语言类型中的至少其中之一。

于再一实施方式中,所述任务信息包括:待访问数据库的类型、待访问数据库的地址、根据从所述数据库中读取的数据而创建的数据文件和对所述数据文件的操作任务类型中的至少其中之一。

于再一实施方式中,所述用户输入的执行指令包括:用户输入的执行预先定义的批处理文件的指令。

于再一实施方式中,所述至少一个代码模板包括:由JAVA语言编写的和/或由C语言编写的、用于执行至少一个任务的代码模板。

于再一实施方式中,所述流程文件包括:函数名、函数调用信息和函数实现中的至少其中之一。

于再一实施方式中,所述流程文件和所述模板文件封装为jar文件。

于再一实施方式中,生成的所述代码文件包括:JAVA前端jsp文件、JAVA后端各JAVA文件和与数据库交互相关的JAVA文件中的至少其中之一。

由上述技术方案可知,本发明的代码生成方法及其装置的优点和积极效果在于:通过采用预先定义的流程文件和模板文件及可根据用户需要进行配置的配置文件,基于用户需求,生成执行相应任务的、规范的代码文件。从而一方面减轻了代码开发人员的工作量,节省了时间和精力,提高了工作效率;另一方面,解决了系统各应用模块代码不够统一、规范的问题。

附图说明

通过结合附图考虑以下对本发明的优选实施例的详细说明,本发明的各种目标、特征和优点将变得更加显而易见。其中:

图1是根据一示例性实施方式示出的一种代码生成方法的流程图。

图2是根据一示例性实施方式示出的另一种代码生成方法的流程图。

图3是根据一示例性实施方式示出的一种代码生成装置的结构图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。

所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组件等。在其它情况下,不详细示出或描述公知结构或者操作以避免模糊本发明的各方面。

图1是根据一示例性实施方式示出的一种代码生成方法的流程图。如图1所示,代码生成方法10包括:

步骤S110,接收用户输入的执行指令。

例如,可通过用户界面,接收用户通过键盘、鼠标等输入工具输入的执行指令。

步骤S120,根据执行指令,调用流程文件及配置文件。

其中,流程文件为预先定义的,例如可由至少一个函数而构成,各函数包括:函数名称,函数调用信息和函数实现中的部分或全部。当有多个函数时,一个函数实现还可以包括调用所定义的其他函数等。

配置文件可由用户根据其需求输入相关信息而生成,从而使得本发明可提供一种按需的代码生成方法。

步骤S130,基于流程文件,读取配置文件中的信息,并根据配置文件中的信息,依次读取预先定义的模板文件中的至少一个代码模板。

其中,模板文件同为预先定义的,包括至少一个代码模板。这些代码模板对应于所需执行的不同任务,各模板可以仅由一种程序语言所编写,也可为由不同程序语言所编写。

步骤S140,根据至少一个代码模板,生成相应的代码文件。

将读取的代码模板,生成相应的代码文件。其中,代码文件的名称、存储地址等可由用户在配置文件中进行配置。

本发明提供的代码生成方法通过采用预先定义的流程文件和模板文件及可根据用户需要进行配置的配置文件,基于用户需求,生成执行相应任务的、规范的代码文件。从而一方面减轻了代码开发人员的工作量,节省了时间和精力,提高了工作效率;另一方面,解决了系统各应用模块代码不够统一、规范的问题。

图2是根据一示例性实施方式示出的另一种代码生成方法的流程图。如图2所示,代码生成方法20包括:

步骤S210,接收用户根据其需求输入的配置文件中的配置信息。

配置文件中的内容可由用户根据其需求进行配置,例如可以包括:至少一个对应于待生成的代码文件的任务信息、待生成的代码文件的名称、待生成的代码文件的存储地址和待生成的代码文件的语言类型的部分或全部。

上述任务信息例如可以包括:待访问数据库的类型、待访问数据库的地址、根据从该数据库中读取的数据而创建的数据文件及对该数据文件的操作任务类型的部分或全部。

该数据库类型例如可以包括MySQL数据库、Oracle数据库和IBM DB2数据库等。数据库地址例如为待访问数据库的URL(Uniform Resoure Locator,统一资源定位符)。此外,如待访问的数据库中还需要登录所需的用户名和密码,也可由用户在配置文件中进行配置。

根据从数据库中读取的数据而创建一数据文件,该数据文件例如可以为一数据表。以数据文件为数据表为例,该数据文件的操作任务例如包括:对该数据表进行增、删、改、查操作、创建一网页来呈现该数据表的操作。

此外,以JAVA程序为例,配置文件中还可以配置该数据表对应的的JavaBean名称,并根据该数据表设置其主键字段。

步骤S220,接收用户输入的执行预先定义的批处理文件的指令。

通过用户界面,用户例如通过双击该预先定义的批处理文件的图标等操作来执行该批处理文件。当接收到用户输入的执行该批处理文件的指令后,执行该批处理文件。批处理文件为预先定义的,并且可以在编写好后固定下来,在之后的使用中无需再修改。

步骤S230,根据该指令,调用流程文件及配置文件。

执行批处理文件,从而执行调用流程文件和上述配置文件的操作。其中流程文件也为一预先定义好的文件,例如可由至少一个函数而构成,各函数包括:函数名称,函数调用信息和函数实现中的部分或全部。当有多个函数时,一个函数实现还可以包括调用所定义的其他函数等。

步骤S240,基于流程文件,读取配置文件中的信息,并根据配置文件中的信息,依次读取预先定义的模板文件中的至少一个代码模板。

在流程文件中,基于其中包括的至少一个函数的执行顺序,定义出了读取配置文件信息,并根据配置文件信息读取代码模板的顺序。因此在执行流程文件中的至少一个函数时,读取配置文件中的相应信息,并根据读取的配置信息,依次读取模板文件中的至少一个代码模板。

模板文件同为预先定义的,可以在编写好后固定下来,而无需每次均对其进行修改。模板文件中的至少一个代码模板对应于所需执行的不同任务,包括用于执行至少一个任务的代码模板。例如如果配置信息中包括对上述数据表进行增、删、改、查的任务,则根据流程文件定义的顺序,依次读取执行对数据表进行增、删、改、查的代码模板。各代码模板可以仅由一种程序语言所编写,也可为由不同程序语言所编写。例如可以包括由JAVA语言编写的代码模板和/或由C语言编写的代码模板。

在一些实施例中,也可以将每个代码模板分别存储到不同模板文件中,本发明不以此为限。

步骤S250,根据读取的至少一个代码模板,生成相应的代码文件。

将读取的至少一个代码模板,生成相应的代码文件。仍以配置信息包括对上述数据表进行增、删、改、查的任务为例,当依次读取了对应增、删、改、查任务对应的代码模板后,依次生成执行对数据表进行增、删、改、查的代码,并最终形成相应的代码文件。代码文件既可以为由执行不同任务对应代码的不同的文件,也可以统一在一个文件中,生成包括可执行多个任务的多组代码。

在一些实施例中,代码文件包括:JAVA前端jsp文件、JAVA后端各JAVA文件和与数据库交互相关的JAVA文件中的至少其中之一。其 中JAVA前端主要负责开发呈现给用户的页面,后端则主要负责对业务的控制和处理等。上述与数据库交互包括MyBatis技术。

在一些实施例中,上述流程文件和模板文件可封装于jar文件中,从而通过上述批处理文件进行调用。

本发明提供的代码生成方法通过采用预先定义的流程文件和模板文件及可根据用户需要进行配置的配置文件,基于用户需求,生成执行相应任务的、规范的代码文件。从而一方面减轻了代码开发人员的工作量,节省了时间和精力,提高了工作效率;另一方面,解决了系统各应用模块代码不够统一、规范的问题。

本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

下述为本发明装置实施例,可以用于执行本发明提供的上述方法实施例。对于本发明装置实施例中未披露的细节,请参照上述方法实施例。

图3是根据一示例性实施方式示出的一种代码生成装置的结构图。如图3所示,代码生成装置30包括:接口模块310、文件调用模块320、文件读取模块330及代码生成模块340。

其中,接口模块310用于接收用户输入的执行指令。例如,可通过用户界面,接收用户通过键盘、鼠标等输入工具输入的执行指令。

在一些实施例中,该执行指令包括:用户输入的执行预先定义的批处理文件的指令。通过用户界面,用户例如通过双击该预先定义的批处理文件的图标等操作来执行该批处理文件。当接收到用户输入的执行该批处理文件的指令后,执行该批处理文件。批处理文件为预先定义的,并且可以在编写好后固定下来,在之后的使用中无需再修改。

需要说明的是,上述执行批处理文件仅为一示例说明,而非限制本发明。本领域技术人员应该理解,也可以将批处理文件替换为EXE文件等可执行文件。或者,也可以通过一个设计的用户界面,使用户点击其中的某个选项来达到执行该指令的目的。

文件调用模块320用于根据执行指令,调用流程文件及配置文件,其中流程文件为预先定义的。

例如,执行上述批处理文件,从而执行调用流程文件和上述配置文件的操作。其中流程文件也为一预先定义好的文件,例如可由至少一个函数而构成,各函数包括:函数名称,函数调用信息和函数实现中的部分或全部。当有多个函数时,一个函数实现还可以包括调用所定义的其他函数等。

文件读取模块330用于基于流程文件,读取配置文件中的信息,并根据配置文件中的信息,依次读取预先定义的模板文件中的至少一个代码模板。

在流程文件中,基于其中包括的至少一个函数的执行顺序,定义出了读取配置文件信息,并根据配置文件信息读取代码模板的顺序。因此在执行流程文件中的至少一个函数时,读取配置文件中的相应信息,并根据读取的配置信息,依次读取模板文件中的至少一个代码模板。

模板文件同为预先定义的,可以在编写好后固定下来,而无需每次均对其进行修改。模板文件中的至少一个代码模板对应于所需执行的不同任务,包括用于执行至少一个任务的代码模板。例如如果配置信息中包括对上述数据表进行增、删、改、查的任务,则根据流程文件定义的顺序,依次读取执行对数据表进行增、删、改、查的代码模板。各代码模板可以仅由一种程序语言所编写,也可为由不同程序语言所编写。例如可以包括由JAVA语言编写的代码模板和/或由C语言编写的代码模板。在一些实施例中,也可以将每个代码模板分别存储到不同模板文件中,本发明不以此为限。

代码生成模块340用于根据至少一个代码模板,生成相应的代码文件。将读取的至少一个代码模板,生成相应的代码文件。

例如,仍以配置信息包括对上述数据表进行增、删、改、查的任务为例,当依次读取了对应增、删、改、查任务对应的代码模板后,依次生成执行对数据表进行增、删、改、查的代码,并最终形成相应的代码文件。代码文件既可以为由执行不同任务对应代码的不同的文件,也可以统一在一个文件中,生成包括可执行多个任务的多组代码。

在一些实施例中,代码文件包括:JAVA前端jsp文件、JAVA后端各JAVA文件和与数据库交互相关的JAVA文件中的至少其中之一。其中JAVA前端主要负责开发呈现给用户的页面,后端则主要负责对业务的控制和处理等。上述与数据库交互包括MyBatis技术。

在一些实施例中,上述流程文件和模板文件可封装于jar文件中,从而通过上述批处理文件进行调用。

此外,代码生成装置30还可以包括:文件配置模块350,用于接收用户根据其需求输入的所述配置文件中的信息。

配置文件中的内容可由用户根据其需求进行配置,例如可以包括:至少一个对应于待生成的代码文件的任务信息、待生成的代码文件的名称、待生成的代码文件的存储地址和待生成的代码文件的语言类型的部分或全部。

上述任务信息例如可以包括:待访问数据库的类型、待访问数据库的地址、根据从该数据库中读取的数据而创建的数据文件及对该数据文件的操作任务类型的部分或全部。

该数据库类型例如可以包括MySQL数据库、Oracle数据库和IBM DB2数据库等。数据库地址例如为待访问数据库的URL(Uniform Resoure Locator,统一资源定位符)。此外,如待访问的数据库中还需要登录所需的用户名和密码,也可由用户在配置文件中进行配置。

根据从数据库中读取的数据而创建一数据文件,该数据文件例如可以为一数据表。以数据文件为数据表为例,该数据文件的操作任务例如包括:对该数据表进行增、删、改、查操作、创建一网页来呈现该数据表的操作。

在一些实施例中,以JAVA程序为例,配置文件中还可以配置该数据表对应的的JavaBean名称,并根据该数据表设置其主键字段。

本发明提供的代码生成装置通过采用预先定义的流程文件和模板文件及可根据用户需要进行配置的配置文件,基于用户需求,生成执行相应任务的、规范的代码文件。从而一方面减轻了代码开发人员的工作量,节省了时间和精力,提高了工作效率;另一方面,解决了系统各应用模块代码不够统一、规范的问题。

需要说明的是,上述实施例提供的代码生成装置在生成代码时,仅以上述各功能模块的划分进行举例说明。而实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,以完成上述的全部或者部分功能。

以上具体地示出和描述了本发明的示例性实施方式。应该理解,本发明不限于所公开的实施方式,相反,本发明意图涵盖包含在所附权利要求范围内的各种修改和等效置换。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1