CN104461540A - 一种代码生成器的开发方法 - Google Patents
一种代码生成器的开发方法 Download PDFInfo
- Publication number
- CN104461540A CN104461540A CN201410756058.9A CN201410756058A CN104461540A CN 104461540 A CN104461540 A CN 104461540A CN 201410756058 A CN201410756058 A CN 201410756058A CN 104461540 A CN104461540 A CN 104461540A
- Authority
- CN
- China
- Prior art keywords
- code
- code generator
- variable
- variable parameter
- original service
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种代码生成器的开发方法,该方法包括:获取原始业务模块代码;分别对稳定成分代码的结构关系成分和功能成分进行提取,得到业务资源库;将不稳定成分代码的变量参数记录到电子表格的不同区域,得到生成器变量参数输入表;利用软件开发工具包,对业务资源库和生成器变量参数输入表进行整合开发,得到代码生成器。本申请实施例公开的方法中,生成器变量参数输入表是通过将不稳定成分代码中的变量参数记录到电子表格的不同区域上得到的,人们只需把生成某个业务模块代码时所需的变量参数填写到生成器变量参数输入表中的相应的表格区域,便完成了输入数据的配置过程,极大地简化了输入数据的配置过程,提高了业务模块代码的生成效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种代码生成器的开发方法。
背景技术
在业务系统的开发过程中,人们为了提高业务开发的效率,通常会利用代码生成器来生成业务代码。
然而,现有技术中,为代码生成器配置输入数据的过程较为复杂,输入数据的配置难度较大,非专业人员难以利用已有的代码生成器来生成业务模块代码,降低了业务模块代码的生成效率。
综上所述可以看出,如何简化代码生成器的输入数据的配置过程,从而提高业务模块代码的生成效率是目前亟待解决的问题。
发明内容
有鉴于此,本发明的目的是提供一种代码生成器的开发方法,简化了代码生成器的输入数据的配置过程,从而提高了业务模块代码的生成效率。其具体方案为:
一种代码生成器的开发方法,包括:
获取原始业务模块代码,所述原始业务模块代码包括稳定成分代码和不稳定成分代码;分别对所述稳定成分代码的结构关系成分和功能成分进行提取,得到业务资源库,所述业务资源库包括结构关系构件库和功能构件库;将所述不稳定成分代码的变量参数记录到电子表格的不同区域上,得到生成器变量参数输入表;利用软件开发工具包,对所述业务资源库和所述生成器变量参数输入表进行整合开发,得到代码生成器。
优选的,所述获取原始业务模块代码的步骤之后还包括,对所述原始业务模块代码进行冗余去除处理。
优选的,所述获取原始业务模块代码的步骤之后还包括,对所述原始业务模块代码进行时间效率优化处理。
优选的,所述获取原始业务模块代码的步骤之后还包括,对所述原始业务模块代码进行空间效率优化处理。
优选的,还包括对所述代码生成器进行验证纠错处理。
优选的,所述验证纠错处理的过程包括:
确定测试用变量参数和测试用构件,将所述测试用变量参数输入到所述生成器变量参数输入表的相应区域,得到测试用电子表格文档;
将所述测试用电子表格文档和所述测试用构件导入所述代码生成器,生成测试用业务模块代码;
判断所述测试用业务模块代码是否符合预期目标,如果否,则根据所述测试用业务模块代码中的不符合要求的代码片段,对所述代码生成器中相应的部分进行纠错处理。
优选的,所述电子表格为Excel电子表格或WPS电子表格。
优选的,所述变量参数包括应用名变量、模块名变量、模块标题变量、查询类变量、编辑类变量、数据类型变量、校验规则变量和控件变量。
优选的,所述软件开发工具包为C语言软件开发工具包或Java语言软件开发工具包。
优选的,所述代码生成器为可执行代码。
本发明中,代码生成器是通过对业务资源库和生成器变量参数输入表进行整合开发后得到的,其中,生成器变量参数输入表是通过将不稳定成分代码中的变量参数记录到电子表格的不同区域上得到的,由于在电子表格中,任一表格区域都有唯一的区域标识,如行列标识或块标识,所以通过区域标识可以查找出相应的变量参数,人们只需把生成某个业务模块代码时所需的变量参数填写到生成器变量参数输入表中的相应的表格区域,便完成了代码生成器的输入数据的配置过程,从而极大地简化了代码生成器的输入数据的配置过程,提高了业务模块代码的生成效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明公开的一种代码生成器的开发方法的流程图;
图2为本发明实施例一公开的一种代码生成器的开发方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种代码生成器的开发方法,参见图1所示,该方法包括:
步骤S101:获取原始业务模块代码,原始业务模块代码包括稳定成分代码和不稳定成分代码;
步骤S102:分别对稳定成分代码的结构关系成分和功能成分进行提取,得到业务资源库,业务资源库包括结构关系构件库和功能构件库;
步骤S103:将不稳定成分代码的变量参数记录到电子表格的不同区域上,得到生成器变量参数输入表;
步骤S104:利用软件开发工具包,对业务资源库和生成器变量参数输入表进行整合开发,得到代码生成器。
在步骤S101中,原始业务模块代码是指基于现有技术框架和典型业务场景开发出的业务模块代码,稳定成分代码是指原始业务模块代码中相对稳定的代码,包括关于结构关系和功能模块的代码等,不稳定成分代码是指原始业务模块代码中可变的代码,包括各种各样的变量参数,例如应用名变量、模块名变量、模块标题变量、查询类变量、编辑类变量、数据类型变量、校验规则变量和控件变量等。
上述公开的代码生成器的开发方法中,代码生成器是通过对业务资源库和生成器变量参数输入表进行整合开发后得到的,其中,生成器变量参数输入表是通过将不稳定成分代码中的变量参数记录到电子表格的不同区域上得到的,由于在电子表格中,任一表格区域都有唯一的区域标识,如行列标识或块标识,所以通过区域标识可以查找出相应的变量参数,人们只需把生成某个业务模块代码时所需的变量参数填写到生成器变量参数输入表中的相应的表格区域,便完成了代码生成器的输入数据的配置过程,从而极大地简化了代码生成器的输入数据的配置过程,提高了业务模块代码的生成效率;另外,人们可以根据自身实际需求,通过向代码生成器导入包含有所需变量参数的生成器变量参数输入表,或者向代码生成器导入所需的构件,得到不同的业务模块代码,满足了客户自定义业务模块代码的需求。
本发明实施例一公开了一种具体的代码生成器的开发方法,参见图2所示,该方法中的电子表格为Excel电子表格,软件开发工具包为C语言软件开发工具包,该方法具体包括:
步骤S201:获取原始业务模块代码;
步骤S202:对原始业务模块代码进行冗余去除处理,得到优化后的原始业务模块代码;
步骤S203:分别对稳定成分代码的结构关系成分和功能成分进行提取,得到业务资源库,业务资源库包括结构关系构件库和功能构件库;
步骤S204:将不稳定成分代码的变量参数记录到Excel电子表格的不同区域上,得到生成器变量参数输入表;
步骤S205:利用C语言软件开发工具包,对业务资源库和生成器变量参数输入表进行整合开发,得到代码生成器;
步骤S206:对代码生成器进行验证纠错处理,得到优化后的代码生成器。
其中,上述代码生成器一般是可执行文件,能够独立运行,不依赖其它运行库或类包。
在步骤S202中,为了减少原始业务模块代码中的代码冗余量,对原始业务模块代码进行了冗余去除处理,得到了优化后的原始业务模块代码,当然,为了减少代码运行时所需的时间,可以对原始业务模块代码进行时间效率优化处理,为了减少代码运行时所需的空间,可以对原始业务模块代码进行空间效率优化处理。
在步骤S206中,验证纠错处理的过程包括,确定测试用变量参数和测试用构件,将测试用变量参数输入到生成器变量参数输入表的相应区域,得到测试用电子表格文档;将测试用电子表格文档和测试用构件导入代码生成器,生成测试用业务模块代码;判断测试用业务模块代码是否符合预期目标,如果否,则根据测试用业务模块代码中的不符合要求的代码片段,对代码生成器中相应的部分进行纠错处理。
当然,上述的Excel电子表格也可以替换为WPS电子表格,上述的C语言软件开发工具包也可以替换为Java语言软件开发工具包或C++语言软件开发工具包。
上述公开的代码生成器的开发方法中,对原始业务模块代码进行了冗余去除处理,减少了原始业务模块代码中的代码冗余量;也可以对原始业务模块代码进行时间效率优化处理和空间效率优化处理,减少了代码运行时所需的时间和空间;其次,对代码生成器进行了验证纠错处理,得到了更优的代码生成器,从而使得通过上述代码生成器生成的业务模块代码具有更高的准确率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种代码生成器的开发方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种代码生成器的开发方法,其特征在于,包括:
获取原始业务模块代码,所述原始业务模块代码包括稳定成分代码和不稳定成分代码;
分别对所述稳定成分代码的结构关系成分和功能成分进行提取,得到业务资源库,所述业务资源库包括结构关系构件库和功能构件库;
将所述不稳定成分代码的变量参数记录到电子表格的不同区域上,得到生成器变量参数输入表;
利用软件开发工具包,对所述业务资源库和所述生成器变量参数输入表进行整合开发,得到代码生成器。
2.根据权利要求1所述的代码生成器的开发方法,其特征在于,所述获取原始业务模块代码的步骤之后还包括,对所述原始业务模块代码进行冗余去除处理。
3.根据权利要求1所述的代码生成器的开发方法,其特征在于,所述获取原始业务模块代码的步骤之后还包括,对所述原始业务模块代码进行时间效率优化处理。
4.根据权利要求1所述的代码生成器的开发方法,其特征在于,所述获取原始业务模块代码的步骤之后还包括,对所述原始业务模块代码进行空间效率优化处理。
5.根据权利要求1所述的代码生成器的开发方法,其特征在于,还包括对所述代码生成器进行验证纠错处理。
6.根据权利要5所述的代码生成器的开发方法,其特征在于,所述验证纠错处理的过程包括:
确定测试用变量参数和测试用构件,将所述测试用变量参数输入到所述生成器变量参数输入表的相应区域,得到测试用电子表格文档;
将所述测试用电子表格文档和所述测试用构件导入所述代码生成器,生成测试用业务模块代码;
判断所述测试用业务模块代码是否符合预期目标,如果否,则根据所述测试用业务模块代码中的不符合要求的代码片段,对所述代码生成器中相应的部分进行纠错处理。
7.根据权利要求1至6任一项所述的代码生成器的开发方法,其特征在于,所述电子表格为Excel电子表格或WPS电子表格。
8.根据权利要求1至6任一项所述的代码生成器的开发方法,其特征在于,所述变量参数包括应用名变量、模块名变量、模块标题变量、查询类变量、编辑类变量、数据类型变量、校验规则变量和控件变量。
9.根据权利要求1至6任一项所述的代码生成器的开发方法,其特征在于,所述软件开发工具包为C语言软件开发工具包或Java语言软件开发工具包。
10.根据权利要求1至6任一项所述的代码生成器的开发方法,其特征在于,所述代码生成器为可执行代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410756058.9A CN104461540A (zh) | 2014-12-10 | 2014-12-10 | 一种代码生成器的开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410756058.9A CN104461540A (zh) | 2014-12-10 | 2014-12-10 | 一种代码生成器的开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104461540A true CN104461540A (zh) | 2015-03-25 |
Family
ID=52907651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410756058.9A Pending CN104461540A (zh) | 2014-12-10 | 2014-12-10 | 一种代码生成器的开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461540A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886390A (zh) * | 2015-12-15 | 2017-06-23 | 大唐软件技术股份有限公司 | 一种Java对象生成和转换方法和Java对象生成和转换装置 |
CN110928535A (zh) * | 2019-12-10 | 2020-03-27 | 深圳前海微众银行股份有限公司 | 衍生变量部署方法、装置、设备及可读存储介质 |
CN114385175A (zh) * | 2020-10-20 | 2022-04-22 | 武汉斗鱼鱼乐网络科技有限公司 | 一种代码生成方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034349A (zh) * | 2007-04-06 | 2007-09-12 | 西安万年科技实业有限公司 | 基于功能设计的数据库应用系统开发平台 |
CN101533349A (zh) * | 2009-04-15 | 2009-09-16 | 哈尔滨工业大学 | 一种大粒度构件的平台相关模型及其代码自动生成方法 |
CN101697120A (zh) * | 2009-11-05 | 2010-04-21 | 河南辉煌科技股份有限公司 | 基于关系型数据库的j2ee代码生成方法 |
CN103019742A (zh) * | 2012-12-31 | 2013-04-03 | 清华大学 | 一种多dsp平台上的自动代码生成方法 |
-
2014
- 2014-12-10 CN CN201410756058.9A patent/CN104461540A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034349A (zh) * | 2007-04-06 | 2007-09-12 | 西安万年科技实业有限公司 | 基于功能设计的数据库应用系统开发平台 |
CN101533349A (zh) * | 2009-04-15 | 2009-09-16 | 哈尔滨工业大学 | 一种大粒度构件的平台相关模型及其代码自动生成方法 |
CN101697120A (zh) * | 2009-11-05 | 2010-04-21 | 河南辉煌科技股份有限公司 | 基于关系型数据库的j2ee代码生成方法 |
CN103019742A (zh) * | 2012-12-31 | 2013-04-03 | 清华大学 | 一种多dsp平台上的自动代码生成方法 |
Non-Patent Citations (1)
Title |
---|
邱慧风: "基于关系复用的代码构建自动化的研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886390A (zh) * | 2015-12-15 | 2017-06-23 | 大唐软件技术股份有限公司 | 一种Java对象生成和转换方法和Java对象生成和转换装置 |
CN110928535A (zh) * | 2019-12-10 | 2020-03-27 | 深圳前海微众银行股份有限公司 | 衍生变量部署方法、装置、设备及可读存储介质 |
CN110928535B (zh) * | 2019-12-10 | 2024-08-16 | 深圳前海微众银行股份有限公司 | 衍生变量部署方法、装置、设备及可读存储介质 |
CN114385175A (zh) * | 2020-10-20 | 2022-04-22 | 武汉斗鱼鱼乐网络科技有限公司 | 一种代码生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897205B (zh) | 一种测试数据生成方法及装置 | |
CN102799640B (zh) | 页面加载装置和页面加载方法 | |
Lee et al. | Benders decomposition approach for the robust network design problem with flow bifurcations | |
CN104572035A (zh) | 网页代码的动态生成方法和动态生成系统 | |
CN106886535A (zh) | 一种适配多种数据源的数据抽取方法和装置 | |
CN102819766A (zh) | 一种表单校验方法、装置及企业系统 | |
CN105868196A (zh) | 一种服务器端工业数据报表生成方法 | |
CN104572153A (zh) | 一种用于车辆刷新的刷新数据转换方法 | |
CN104461540A (zh) | 一种代码生成器的开发方法 | |
CN110955715A (zh) | Erp系统和目标平台的数据转换方法、装置以及电子设备 | |
CN111767144A (zh) | 交易数据的交易路由确定方法、装置、设备及系统 | |
CN105022619A (zh) | 一种代码数据处理方法及装置 | |
CN103942280A (zh) | 一种基于数据结构自动生成代码的方法 | |
CN105512392A (zh) | 国网erp物料设备编码与应用系统 | |
CN105867944A (zh) | Web前端数据操作层及其实现方法 | |
CN104699485A (zh) | 海量程序管理方法及构建方法 | |
CN105187250A (zh) | 一种基于组件模板部署节点的方法及系统 | |
CN105868170A (zh) | 一种服务器端工业数据报表生成方法 | |
CN102855305A (zh) | 数据升级方法与装置 | |
CN113591448B (zh) | 报表生成方法、装置及存储介质 | |
CN115145938A (zh) | 企业用户身份标识体系构建方法、装置、设备、介质 | |
CN106528066A (zh) | 一种业务流程运行方法及装置 | |
CN105224305A (zh) | 函数调用路径编解码方法、装置及系统 | |
CN105373384B (zh) | 一种软件开发方法和装置 | |
CN104834515A (zh) | 目标文件的生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150325 |
|
RJ01 | Rejection of invention patent application after publication |