CN109766085A - 一种处理枚举类型代码的方法及装置 - Google Patents

一种处理枚举类型代码的方法及装置 Download PDF

Info

Publication number
CN109766085A
CN109766085A CN201811636429.4A CN201811636429A CN109766085A CN 109766085 A CN109766085 A CN 109766085A CN 201811636429 A CN201811636429 A CN 201811636429A CN 109766085 A CN109766085 A CN 109766085A
Authority
CN
China
Prior art keywords
value
code
service parameter
key
data dictionary
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
Application number
CN201811636429.4A
Other languages
English (en)
Other versions
CN109766085B (zh
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.)
Nanjing Suningjia E Commerce Co ltd
Original Assignee
Suningcom Group Co 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 Suningcom Group Co Ltd filed Critical Suningcom Group Co Ltd
Priority to CN201811636429.4A priority Critical patent/CN109766085B/zh
Publication of CN109766085A publication Critical patent/CN109766085A/zh
Application granted granted Critical
Publication of CN109766085B publication Critical patent/CN109766085B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种处理枚举类型代码的方法及装置,涉及计算机技术领域,能够节约开发人员时间,提高开发人员工作效率。包括:获取输入操作页面的业务参数,并将所述业务参数存储至数据库;获取枚举规则,并将所获取的枚举规则存储至规则集合中;从所述数据库中读取业务参数,并将所读取的业务参数传递给代码模板;通过所述代码模板转换所述业务参数,并利用转换后的业务参数通过所述枚举规则生成代码,将所生成的代码向维护目标接口的终端设备发送,其中所述目标接口为所述业务参数所对应的业务系统中的接口。本发明适用于枚举类型的代码开发。

Description

一种处理枚举类型代码的方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种处理枚举类型代码的方法及装置。
背景技术
目前,在编程人员进行系统开发的过程中,不管是数据库还是接口开发场景中,都会用到大量的枚举类型来表述业务状态。以数据库系统为例,数据库中一般是Int,此值一般没有现实含义,可读性很差,很难理解和记忆。
而现今业务系统的规模越来越大,在程序设计中需要用到海量的枚举类型,开发过程中会占用开发人员的大量精力,并且接口之间的沟通成本也很高。并且在很多业务场景中,需要频繁更新业务系统,程序开发速度也难以跟上业务系统的更新需求,限制了业务系统的进一步拓展。
发明内容
本发明的实施例提供一种处理枚举类型代码的方法及装置,能够节约开发人员时间,提高开发人员工作效率。
为达到上述目的,本发明的实施例采用如下技术方案:
在输入阶段:
获取输入操作页面的业务参数,并将所述业务参数存储至数据库;
获取枚举规则,并将所获取的枚举规则存储至规则集合中,其中,一个规则集合对应至少一种业务系统;
在输出阶段:
从所述数据库中读取业务参数,并将所读取的业务参数传递给代码模板,其中,所述代码模板包括的模块至少用于:查询条件、查询结果、导出、导入、编辑和常量类;
通过所述代码模板转换所述业务参数,并利用转换后的业务参数通过所述枚举规则生成代码,将所生成的代码向维护目标接口的终端设备发送,其中所述目标接口为所述业务参数所对应的业务系统中的接口。
本发明中,在代码生成向导页面,前端以Key-Value形式输入,代码生成是枚举,保证DB仍使用Int。通过对枚举类型的代码进行自动生成,大幅度的节约开发人员时间,提高开发人员工作效率。由于自动化的代码生成将会比人工编写更加准确,在类命名、包路径以及方法名称、变量名称、变量类型的使用会更加规范,避免人工编写上的疏漏及错误。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的方法流程示意图;
图2、图3为本发明实施例提供的具体实例示意图;
图4为本发明实施例提供的装置结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本实施例中的方法流程,具体可以在一种如图1所示的系统上执行,该系统包括:处理服务器和员工终端。其中:
员工终端具体可以实做成单独一台装置,或整合于各种不同的媒体数据播放装置中,诸如台式机电脑、移动电话、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)、多媒体播放器、数字摄影机、个人数字助理(personal digitalassistant,简称PDA)、移动上网装置(Mobile Internet Device,MID)等。
处理服务器可以实现在一个独立的服务器设备上;或者,集成在一个服务器集群中。用于采用自然语言分析的方式,对开发人员编写的代码进行读取,解析,转换,再按照指定的样例规则,单个或者批量的生成对应的源码文件。处理服务器还可以连接数据库,数据库用于存储各个操作人员通过员工终端输入的业务参数。
本发明实施例提供一种处理枚举类型代码的方法,具体可以实现在图1中所示的处理服务器上。如图2所示,该方法包括:
在输入阶段:
S001、获取输入操作页面的业务参数,并将所述业务参数存储至数据库。
其中,操作页面可以是一种代码生成向导页面,前端以Key-Value形式输入,代码生成是枚举,保证DB(Database,数据库)仍使用Int(Integer,JAVA语言中所指的整数数据类型)本实施例中,数据字典的key用Int存储在表里或者在接口中传递,用String类型展示。
本实施例中所述的业务参数,可以理解为描述枚举值的具体定义的表达式,例如:YES_NO(1:是|2:否),本领域技术人员可以根据具体的应用场景设定具体的业务参数,业务参数的表现形式并不限定。
S002、获取枚举规则,并将所获取的枚举规则存储至规则集合中。
其中,一个规则集合对应至少一种业务系统。
枚举规则为预先有技术人员所设定的,用于描述枚举值的表达式,这类表达式可以参照业务参数进行设定,具体可以与业务参数的表现完全形式相同如YES_NO(1:是|2:否),也可以根据不同的程序语言翻译为新的表达式,但通常新翻译的表达式的实质内容与业务参数的实质内容是相同的。在具体应用中,一些场景中也会把枚举规则称为枚举参数,比如作为入参的时候可以称为枚举参数,其他场景叫规则。
所述获取枚举规则,包括:创建数据字典,所述数据字典中记录了关键字(Key)与value值的对应关系。排除Key与value值的对应关系中的重复数据。数据字典表是专门存储和管理带有业务含义的枚举值的地方。本实施例中,数据字典中包括了至少一个数据字典表,数据字典表中记录了枚举值和各个枚举值分别对应的业务含义。
例如图3所示的,在输入阶段,根据页面向导填写入库的业务参数存储在数据库中。利用接近自然语言的方式描述枚举规则,枚举规则可无限扩展,自由定义,分别存储在不同的集合中。再基于Key-value的对应关系排除重复数据,检查数据正确性。其中,利用接近自然语言的方式描述枚举规则,例如:是否(1代表是|2代表否)(用户表,ID{不保存}:姓名),这种枚举规则的表达式是自由定义的,可以读取,提取想要的信息。
在输出阶段:
S101、从所述数据库中读取业务参数,并将所读取的业务参数传递给代码模板。
其中,所述代码模板包括的模块至少用于:查询条件、查询结果、导出、导入、编辑和常量类。
S102、通过所述代码模板转换所述业务参数,并利用转换后的业务参数通过所述枚举规则生成代码,将所生成的代码向维护目标接口的终端设备发送。
其中,所述目标接口为所述业务参数所对应的业务系统中的接口。
具体的,S102中利用转换后的业务参数通过所述枚举规则生成代码,包括:
提取转换后的业务参数中的Key和value值。
利用提取的Key,在所述数据字典中查询得到与所提取的Key对应的value值。
并且,利用提取的value值,在所述数据字典中查询得到与所提取的value值对应的Key。将从所述数据字典中查询得到的Key和value值,写入源码文件。
例如图3所示的,在输出阶段,采用自然语言分析的方式,对开发人员编写的代码进行读取,解析,转换,再按照指定的样例规则,单个或者批量的生成对应的源码文件。处理服务器从数据库中读取业务参数,用代码整合后,传递给定制化的代码模板:查询条件,查询结果,导出,导入,编辑,常量类等模块自动转换。
在本实施例中,还包括:
将所述数据字典向维护目标接口的终端设备发送。从而将查询的结果以数据字典文档的形式输出,方便各接口各部门之间沟通和契约。查询的过程分为2类:根据key查询到value,根据value查询到key。具体的,数据字典文档可以是HTML或WORD格式的文档,便于供跨部门阅读沟通的文档。
在本实施例中,还包括:
将从业务参数中提取的value值输入DB。其中,所述DB使用Int。对于计算机设备来说,能够识别的是数字或者字符,因此,所以从外部展示到数据库存储的值有个从String(中文)翻译为Int(数字)的过程,比如:从员工终端输入的自然语言需要从String(中文)翻译为Int(数字)再存储至数据库。
以及,将从业务参数中提取的Key输出到外部展示系统。
由于人类能看懂中文,计算机设备存储的数字或者字符是难以理解的,因此从数据库存储的值到外部展示时,需要从Int(数字)翻译为String(中文)。
本实施例中所述的外部展示系统,可以理解为显示在员工终端上的业务系统页面、网页界面,或类似的人机交互界面,外部展示系统的设计以及运行,都可以采用目前的现有技术实现。
本发明中,采用自然语言分析的方式,对开发人员编写的代码进行读取,解析,转换,再按照指定的样例规则,单个或者批量的生成对应的源码文件。在代码生成向导页面,前端以Key-Value形式输入,代码生成是枚举,保证DB仍使用Int。通过对枚举类型的代码进行自动生成,大幅度的节约开发人员时间,提高开发人员工作效率。由于自动化的代码生成将会比人工编写更加准确,在类命名、包路径以及方法名称、变量名称、变量类型的使用会更加规范,避免人工编写上的疏漏及错误。
本发明实施例还提供一种处理枚举类型代码的装置,如图4所示的,包括:
输入处理模块,包括输入单元和枚举处理单元;
所述输入单元,用于获取输入操作页面的业务参数,并将所述业务参数存储至数据库;
所述枚举处理单元,用于获取枚举规则,并将所获取的枚举规则存储至规则集合中,其中,一个规则集合对应至少一种业务系统;
输出处理模块,包括参数处理单元和代码生成单元;
所述参数处理单元,用于从所述数据库中读取业务参数,并将所读取的业务参数传递给代码模板,其中,所述代码模板包括的模块至少用于:查询条件、查询结果、导出、导入、编辑和常量类;
所述代码生成单元,用于通过所述代码模板转换所述业务参数,并利用转换后的业务参数通过所述枚举规则生成代码,将所生成的代码向维护目标接口的终端设备发送,其中所述目标接口为所述业务参数所对应的业务系统中的接口。
其中,所述枚举处理单元,具体用于创建数据字典,所述数据字典中记录了关键字(Key)与value值的对应关系;排除Key与value值的对应关系中的重复数据。
所述代码生成单元,具体用于提取转换后的业务参数中的Key和value值;利用提取的Key,在所述数据字典中查询得到与所提取的Key对应的value值;并且,利用提取的value值,在所述数据字典中查询得到与所提取的value值对应的Key;将从所述数据字典中查询得到的Key和value值,写入源码文件。
所述代码生成单元,还用于将所述数据字典向维护目标接口的终端设备发送。
本发明中,采用自然语言分析的方式,对开发人员编写的代码进行读取,解析,转换,再按照指定的样例规则,单个或者批量的生成对应的源码文件。在代码生成向导页面,前端以Key-Value形式输入,代码生成是枚举,保证DB仍使用Int。通过对枚举类型的代码进行自动生成,大幅度的节约开发人员时间,提高开发人员工作效率。由于自动化的代码生成将会比人工编写更加准确,在类命名、包路径以及方法名称、变量名称、变量类型的使用会更加规范,避免人工编写上的疏漏及错误。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种处理枚举类型代码的方法,其特征在于,包括:
在输入阶段:
获取输入操作页面的业务参数,并将所述业务参数存储至数据库;
获取枚举规则,并将所获取的枚举规则存储至规则集合中,其中,一个规则集合对应至少一种业务系统;
在输出阶段:
从所述数据库中读取业务参数,并将所读取的业务参数传递给代码模板,其中,所述代码模板包括的模块至少用于:查询条件、查询结果、导出、导入、编辑和常量类;
通过所述代码模板转换所述业务参数,并利用转换后的业务参数通过所述枚举规则生成代码,将所生成的代码向维护目标接口的终端设备发送,其中所述目标接口为所述业务参数所对应的业务系统中的接口。
2.根据权利要求1所述的方法,其特征在于,所述获取枚举规则,包括:
创建数据字典,所述数据字典中记录了关键字(Key)与value值的对应关系,其中,数据字典中包括了至少一个数据字典表,数据字典表中记录了枚举值和各个枚举值分别对应的业务含义;
排除Key与value值的对应关系中的重复数据。
3.根据权利要求2所述的方法,其特征在于,所述利用转换后的业务参数通过所述枚举规则生成代码,包括:
提取转换后的业务参数中的Key和value值;
利用提取的Key,在所述数据字典中查询得到与所提取的Key对应的value值;
并且,利用提取的value值,在所述数据字典中查询得到与所提取的value值对应的Key;
将从所述数据字典中查询得到的Key和value值,写入源码文件。
4.根据权利要求2所述的方法,其特征在于,还包括:
将所述数据字典向维护目标接口的终端设备发送。
5.根据权利要求2所述的方法,其特征在于,还包括:
将从业务参数中提取的value值输入DB,所述DB使用Int。
6.根据权利要求2所述的方法,其特征在于,还包括:
将从业务参数中提取的Key输出到外部展示系统。
7.一种处理枚举类型代码的装置,其特征在于,包括:
输入处理模块,包括输入单元和枚举处理单元;
所述输入单元,用于获取输入操作页面的业务参数,并将所述业务参数存储至数据库;
所述枚举处理单元,用于获取枚举规则,并将所获取的枚举规则存储至规则集合中,其中,一个规则集合对应至少一种业务系统;
输出处理模块,包括参数处理单元和代码生成单元;
所述参数处理单元,用于从所述数据库中读取业务参数,并将所读取的业务参数传递给代码模板,其中,所述代码模板包括的模块至少用于:查询条件、查询结果、导出、导入、编辑和常量类;
所述代码生成单元,用于通过所述代码模板转换所述业务参数,并利用转换后的业务参数通过所述枚举规则生成代码,将所生成的代码向维护目标接口的终端设备发送,其中所述目标接口为所述业务参数所对应的业务系统中的接口。
8.根据权利要求7所述的装置,其特征在于,所述枚举处理单元,具体用于创建数据字典,所述数据字典中记录了关键字(Key)与value值的对应关系;排除Key与value值的对应关系中的重复数据。
9.根据权利要求8所述的装置,其特征在于,所述代码生成单元,具体用于提取转换后的业务参数中的Key和value值;利用提取的Key,在所述数据字典中查询得到与所提取的Key对应的value值;并且,利用提取的value值,在所述数据字典中查询得到与所提取的value值对应的Key;将从所述数据字典中查询得到的Key和value值,写入源码文件。
10.根据权利要求7所述的装置,其特征在于,所述代码生成单元,还用于将所述数据字典向维护目标接口的终端设备发送。
CN201811636429.4A 2018-12-29 2018-12-29 一种处理枚举类型代码的方法及装置 Active CN109766085B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811636429.4A CN109766085B (zh) 2018-12-29 2018-12-29 一种处理枚举类型代码的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811636429.4A CN109766085B (zh) 2018-12-29 2018-12-29 一种处理枚举类型代码的方法及装置

Publications (2)

Publication Number Publication Date
CN109766085A true CN109766085A (zh) 2019-05-17
CN109766085B CN109766085B (zh) 2023-05-16

Family

ID=66452991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811636429.4A Active CN109766085B (zh) 2018-12-29 2018-12-29 一种处理枚举类型代码的方法及装置

Country Status (1)

Country Link
CN (1) CN109766085B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417880A (zh) * 2019-07-19 2019-11-05 优信拍(北京)信息科技有限公司 一种应用于web开发的数据处理方法、装置及系统
CN110471668A (zh) * 2019-07-29 2019-11-19 云特思顾问服务(深圳)有限公司 提高软件兼容性的方法及装置
CN110502272A (zh) * 2019-08-16 2019-11-26 济南浪潮数据技术有限公司 一种参数配置方法、装置、存储介质及计算机设备
CN113779030A (zh) * 2021-09-13 2021-12-10 北京房江湖科技有限公司 枚举值查询方法、可读存储介质及计算机程序产品
CN115827703A (zh) * 2023-02-10 2023-03-21 美云智数科技有限公司 枚举数据查询方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090183139A1 (en) * 2008-01-11 2009-07-16 The Mathworks, Inc. Enumeration classes
CN107256144A (zh) * 2017-04-28 2017-10-17 努比亚技术有限公司 前后台代码自动生成方法、终端及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090183139A1 (en) * 2008-01-11 2009-07-16 The Mathworks, Inc. Enumeration classes
CN107256144A (zh) * 2017-04-28 2017-10-17 努比亚技术有限公司 前后台代码自动生成方法、终端及计算机可读存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417880A (zh) * 2019-07-19 2019-11-05 优信拍(北京)信息科技有限公司 一种应用于web开发的数据处理方法、装置及系统
CN110417880B (zh) * 2019-07-19 2022-02-11 优信拍(北京)信息科技有限公司 一种应用于web开发的数据处理方法、装置及系统
CN110471668A (zh) * 2019-07-29 2019-11-19 云特思顾问服务(深圳)有限公司 提高软件兼容性的方法及装置
CN110471668B (zh) * 2019-07-29 2023-05-30 云特思顾问服务(深圳)有限公司 提高软件兼容性的方法及装置
CN110502272A (zh) * 2019-08-16 2019-11-26 济南浪潮数据技术有限公司 一种参数配置方法、装置、存储介质及计算机设备
CN113779030A (zh) * 2021-09-13 2021-12-10 北京房江湖科技有限公司 枚举值查询方法、可读存储介质及计算机程序产品
CN113779030B (zh) * 2021-09-13 2023-08-08 北京房江湖科技有限公司 枚举值查询方法、可读存储介质及计算机程序产品
CN115827703A (zh) * 2023-02-10 2023-03-21 美云智数科技有限公司 枚举数据查询方法及装置

Also Published As

Publication number Publication date
CN109766085B (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
CN109766085A (zh) 一种处理枚举类型代码的方法及装置
CN101334774B (zh) 一种字符输入的方法和输入法系统
CN110647579A (zh) 数据同步方法及装置、计算机设备与可读介质
CN101937427B (zh) 一种基于浏览器的内容编辑及发布的系统及方法
CN100550020C (zh) 一种用于解决中文软件多语言支持问题的方法和装置
CN104360865A (zh) 一种序列化方法、反序列化方法及相关设备
CN109740122A (zh) 思维导图用例文件的转换方法及装置
CN109408043A (zh) 一种程序生成方法及装置
CN113448562B (zh) 一种逻辑代码自动生成方法、装置和电子设备
CN110795697A (zh) 逻辑表达式的获取方法、装置、存储介质以及电子装置
CN108664546A (zh) Xml数据结构转换方法和装置
CN105468793A (zh) 一种仿真模型数据的自动化管理方法
CN110347673A (zh) 数据文件加载方法、装置、计算机设备以及存储介质
KR100762712B1 (ko) 규칙기반의 전자문서 변환방법 및 그 시스템
CN107025233B (zh) 一种数据特征的处理方法及装置
US20060248443A1 (en) System and method for exporting spreadsheet data
CN113741864B (zh) 基于自然语言处理的语义化服务接口自动设计方法与系统
CN116303359A (zh) 一种数据库结构多类型文档导出的实现方法
CN114625372A (zh) 组件自动编译方法、装置、计算机设备及存储介质
CN112632167A (zh) 一种结构化数据的数据转化方法、数据转化系统及相关装置
CN110737431A (zh) 软件开发方法、开发平台、终端设备及存储介质
CN111796803B (zh) 一种基于多级容器转存的模板报表生成方法
CN113590115B (zh) 一种业务系统代码自动生成方法及装置
CN117033249B (zh) 一种测试用例生成方法、装置、计算机设备及存储介质
CN113792048B (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
TA01 Transfer of patent application right

Effective date of registration: 20210127

Address after: 210000 1-9 Suning Avenue, Xuanwu District, Nanjing, Jiangsu Province

Applicant after: Nanjing suningjia e-commerce Co.,Ltd.

Address before: 210042 No.1, Suning Avenue, Xuanwu District, Nanjing City, Jiangsu Province

Applicant before: SUNING.COM Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant