CN116360769A - 代码生成方法、装置、设备及存储介质 - Google Patents

代码生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116360769A
CN116360769A CN202310257884.8A CN202310257884A CN116360769A CN 116360769 A CN116360769 A CN 116360769A CN 202310257884 A CN202310257884 A CN 202310257884A CN 116360769 A CN116360769 A CN 116360769A
Authority
CN
China
Prior art keywords
code
interface information
interface
code generation
target
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
CN202310257884.8A
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 E Wallet Electronic Commerce Co Ltd
Original Assignee
Ping An E Wallet Electronic Commerce 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 Ping An E Wallet Electronic Commerce Co Ltd filed Critical Ping An E Wallet Electronic Commerce Co Ltd
Priority to CN202310257884.8A priority Critical patent/CN116360769A/zh
Publication of CN116360769A publication Critical patent/CN116360769A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及金融科技,提供一种代码生成方法、装置、设备及存储介质。该方法识别代码生成请求中生成对象的对象类型,若为预设类型,获取生成对象的待开发功能点,从接口管理服务器中筛选出与初始接口信息及代码模板,基于请求用户对初始接口信息所处的展示界面的触发操作生成目标接口信息,根据目标接口信息的逻辑关系在代码模板中封装目标接口信息,得到接口代码,本申请能够提高开发效率。此外,本发明还涉及区块链技术,所述接口代码可存储于区块链中。

Description

代码生成方法、装置、设备及存储介质
技术领域
本发明涉及开发技术领域,尤其涉及一种代码生成方法、装置、设备及存储介质。
背景技术
随着金融科技的发展,金融业务系统也大批量随之产生。在金融业务系统的开发过程中,由于不同金融系统之间存在相似的接口服务层,导致接口服务层的相关代码信息需要重复开发,从而造成开发效率低下。
因此,如何提高开发效率,成了亟需解决的技术问题。
发明内容
鉴于以上内容,有必要提供一种代码生成方法、装置、设备及存储介质,能够解决如何提高开发效率的技术问题。
一方面,本发明提出一种代码生成方法,所述代码生成方法包括:
响应于代码生成请求,识别所述代码生成请求中生成对象的对象类型;
若所述对象类型为预设类型,则基于所述代码生成请求获取所述生成对象的待开发功能点;
从接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息,并根据所述生成对象从所述接口管理服务器中筛选出代码模板;
基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息;
根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码。
根据本发明优选实施例,所述基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息包括:
基于所述代码生成请求中的地址信息,识别出所述代码生成请求的生成地址;
根据所述生成地址定位出所述请求用户;
基于所述请求用户,从所述展示界面的界面操作日志中提取所述触发操作的触发日志;
若所述触发日志包括删除事项,则从所述初始接口信息中,删除与所述删除事项所对应的删除字段的接口信息,得到所述目标接口信息。
根据本发明优选实施例,所述目标接口信息包括目标字段,所述根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码包括:
从所述接口管理服务器中获取所述目标字段的生成方式;
基于所述生成方式识别出所述逻辑关系;
获取所述代码模板的模板代码语言,并获取所述目标字段的字段代码语言;
若所述字段代码语言与所述模板代码语言相同,则基于所述模板代码语言,调用与所述逻辑关系对应的逻辑程序;
根据所述逻辑程序封装所述目标接口信息,得到封装信息;
将所述封装信息写入所述代码模板中,得到所述接口代码。
根据本发明优选实施例,在从所述接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息之前,所述代码生成方法还包括:
获取多个历史开发系统;
对每个历史开发系统进行功能点拆分,得到多个系统功能点;
计算所述多个系统功能点中任意两个系统功能点的相似度;
将所述相似度大于预设阈值的任意两个系统功能点均确定为配置功能点;
从所述多个历史开发系统中获取所述配置功能点的功能接口信息作为配置接口信息。
根据本发明优选实施例,所述功能接口信息包括多个功能字段及每个功能字段的项目接口信息,所述从所述多个历史开发系统中获取所述配置功能点的功能接口信息作为配置接口信息包括:
从所述多个功能字段中识别出所述任意两个系统功能点的共同字段;
基于所述共同字段对所述项目接口信息进行更新,得到所述配置接口信息。
根据本发明优选实施例,所述基于所述代码生成请求获取所述生成对象的待开发功能点包括:
基于所述代码生成请求的请求时刻及预设时段生成目标时段;
从预设开发需求文件中获取需求生成时刻处于所述目标时段的系统作为待开发系统;
获取所述待开发系统的系统需求文档;
基于所述生成对象,从所述系统需求文档中筛选出所述待开发功能点。
根据本发明优选实施例,所述识别所述代码生成请求中生成对象的对象类型包括:
从所述代码生成请求中提取所述生成对象的对象标识;
将所述对象标识与多个配置标识进行字符比较,得到所述对象标识与每个配置标识的标识匹配度;
将所述标识匹配度最大的配置标识所对应的配置类型确定为所述对象类型。
另一方面,本发明还提出一种代码生成装置,所述代码生成装置包括:
识别单元,用于响应于代码生成请求,识别所述代码生成请求中生成对象的对象类型;
获取单元,用于若所述对象类型为预设类型,则基于所述代码生成请求获取所述生成对象的待开发功能点;
筛选单元,用于从接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息,并根据所述生成对象从所述接口管理服务器中筛选出代码模板;
生成单元,用于基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息;
封装单元,用于根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码。
另一方面,本发明还提出一种电子设备,所述电子设备包括:
存储器,存储计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现所述代码生成方法。
另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述代码生成方法。
由以上技术方案可以看出,本申请在识别到所述对象类型为所述预设类型时,获取所述待开发功能点,由于所述预设类型的代码具有特定的逻辑固化特性,因此,通过对所述对象类型与所述预设类型的比较,能够避免对所述待开发功能点的多余获取,进而通过增设所述请求用户对所述初始接口信息所处的展示界面的触发操作,能够提高所述目标接口信息的生成合理性,从而避免在所述接口代码中添加了非必要的代码信息,也能够避免所述接口代码中缺少了必要的代码信息,从而提高所述接口代码的准确性,通过结合所述逻辑关系及所述代码模板生成所述接口代码,由于无需人工开发生成所述接口代码,因此,能够提高开发效率,同时,通过自动化所述接口代码,提高所述接口代码的规范性及可读性好,使得所述生成对象易于维护。
附图说明
图1是本发明代码生成方法的较佳实施例的流程图。
图2是本发明代码生成方法中接口管理服务器的示意图。
图3是本发明代码生成装置的较佳实施例的功能模块图。
图4是本发明实现代码生成方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明代码生成方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述代码生成方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。
所述电子设备也可以是服务器,所述服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。
所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(CloudComputing)的由大量主机或网络电子设备构成的云。
所述电子设备所在的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
101,响应于代码生成请求,识别所述代码生成请求中生成对象的对象类型。
在本发明的至少一个实施例中,所述代码生成请求可以是在请求用户有开发需求时触发生成,所述代码生成请求也可以在监测到新增开发需求时触发生成。所述代码生成请求携带有:所述代码生成请求的生成地址、所述生成对象的对象标识等。
所述生成对象是指需要进行代码生成的对象,例如,所述生成对象可以是系统的某个接口等。
所述对象类型是指所述生成对象在待开发系统中所对应的具体类型,例如,所述对象类型可以是接口类型等。
在本发明的至少一个实施例中,所述电子设备识别所述代码生成请求中生成对象的对象类型包括:
从所述代码生成请求中提取所述生成对象的对象标识;
将所述对象标识与多个配置标识进行字符比较,得到所述对象标识与每个配置标识的标识匹配度;
将所述标识匹配度最大的配置标识所对应的配置类型确定为所述对象类型。
其中,所述多个配置标识与多个所述配置类型具有映射关系。例如,配置标识jiekou1所对应的配置类型为接口类型。
所述标识匹配度是指所述对象标识与每个配置标识中相同字符的数量在所述对象标识中标识字符的字符总量上的比值。
通过所述代码生成请求,能够准确的提取到所述对象标识,进而通过所述对象标识与所述多个配置标识的比较,能够准确的识别出所述标识匹配度,进而通过所述标识匹配度能够从所述多个配置类型中筛选出所述对象类型,提高了所述对象类型的识别准确性。
具体地,所述电子设备将所述对象标识与多个配置标识进行字符比较,得到所述对象标识与每个配置标识的标识匹配度包括:
统计所述对象标识与每个配置标识中相同字符的数量;
统计所述对象标识中标识字符的字符总量;
计算所述数量在所述字符总量上的比值,得到所述标识匹配度。
102,若所述对象类型为预设类型,则基于所述代码生成请求获取所述生成对象的待开发功能点。
在本发明的至少一个实施例中,所述预设类型通常设定为接口类型。
所述待开发功能点是指所述生成对象中需要进行代码开发的具体功能。
在本发明的至少一个实施例中,所述电子设备基于所述代码生成请求获取所述生成对象的待开发功能点包括:
基于所述代码生成请求的请求时刻及预设时段生成目标时段;
从预设开发需求文件中获取需求生成时刻处于所述目标时段的系统作为待开发系统;
获取所述待开发系统的系统需求文档;
基于所述生成对象,从所述系统需求文档中筛选出所述待开发功能点。
其中,所述请求时刻是指所述代码生成请求的生成时刻点。
所述预设时段可以根据实际需求设定。例如,所述预设时段为15分钟,当所述请求时刻为8:00,则所述目标时段为:7:45-8:00。
所述预设开发需求文件中存储有多个需要进行开发的需求系统,及每个需求系统新增时所对应的需求生成时刻。
所述待开发系统是指所述需求生成时刻处于所述目标时段的系统。
所述系统需求文档是指开发人员基于所述待开发系统的具体系统需求所编写的文件。所述系统需求文档中存储有所述待开发系统中所有模块的模块功能信息。
通过所述预设时段及所述请求时刻,能够合理的生成所述目标时段,进而通过所述目标时段,能够从所述预设开发需求文件中准确的筛选出所述待开发系统,避免了因为所述代码生成请求的生成延迟而造成无法准确获取到所述待开发系统,进而通过所述生成对象,能够准确的从所述系统需求文档中筛选出所述待开发功能点。
103,从接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息,并根据所述生成对象从所述接口管理服务器中筛选出代码模板。
在本发明的至少一个实施例中,所述接口管理服务器中存储有配置功能点及配置接口信息,所述接口管理服务器中还存储有多个开发对象与模板信息的映射关系。如图2所示,图2是本发明代码生成方法中接口管理服务器的示意图。在图2中,所述接口管理服务器存储的功能点包括:配置功能点1、配置功能点2、配置功能点3及配置功能点4,所述配置功能点1所对应的接口信息为配置接口信息1、所述配置功能点2所对应的接口信息为配置接口信息2、所述配置功能点3所对应的接口信息为配置接口信息3、及所述配置功能点4所对应的接口信息为配置接口信息4。
所述接口管理服务器用于在开发应用过程中,对所述配置接口信息及所述模板信息进行新增、修改或者维护等。例如,所述接口管理服务器可以为YAPI的服务器。其中,所述配置接口信息及所述模板信息可以由开发人员上传至所述接口管理服务器,或者由所述接口管理服务从终端设备中下载得到。
所述初始接口信息是指与所述待开发功能点相匹配的配置接口信息,所述初始接口信息包括,但不限于:初始字段的字段名称、所述初始字段的字段类型、所述初始字段的初始项目信息,例如,所述初始字段为订单编号,所述字段类型为数值类型,所述初始项目信息可以为必选项。
所述代码模板是指与所述生成对象相匹配的模板信息。所述代码模板中存储有所述生成对象中的基本配置信息。
在本发明的至少一个实施例中,在从所述接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息之前,所述代码生成方法还包括:
获取多个历史开发系统;
对每个历史开发系统进行功能点拆分,得到多个系统功能点;
计算所述多个系统功能点中任意两个系统功能点的相似度;
将所述相似度大于预设阈值的任意两个系统功能点均确定为配置功能点;
从所述多个历史开发系统中获取所述配置功能点的功能接口信息作为配置接口信息。
其中,所述多个历史开发系统是指在所述请求时刻之前完成开发的系统,所述多个历史开发系统可以是金融领域的业务系统等。
所述相似度可以根据所述任意两个系统功能点中的系统字段生成。
所述预设阈值可以根据实际需求设定。
通过分析所述多个系统功能点中任意两个系统功能点的相似度,进而通过所述相似度与所述预设阈值的比较,能够准确的确定出所述配置功能点,从而能够基于所述待开发功能点,从所述接口管理服务器中准确的筛选出所述初始接口信息。
具体地,所述电子设备计算所述多个系统功能点中任意两个系统功能点的相似度包括:
统计所述任意两个系统功能点中相同的系统字段的字段数量;
识别所述任意两个系统功能点中系统字段最多的系统作为目标系统,并统计所述目标系统中的系统字段的字段总量;
计算所述字段数量在所述字段总量上的比值,得到所述相似度。
具体地,所述功能接口信息包括多个功能字段及每个功能字段的项目接口信息,所述电子设备从所述多个历史开发系统中获取所述配置功能点的功能接口信息作为配置接口信息包括:
从所述多个功能字段中识别出所述任意两个系统功能点的共同字段;
基于所述共同字段对所述项目接口信息进行更新,得到所述配置接口信息。
本实施例中,将所述共同字段的项目接口信息更新为必选项目,得到所述配置接口信息。
通过上述实施方式,由于所述共同字段是指所述任意两个系统功能点中共同存在的系统字段,因此,将所述共同字段的项目接口信息更新为必选项目,提高所述配置接口信息的更新合理性。
104,基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息。
在本发明的至少一个实施例中,所述请求用户可以是所述代码生成请求的直接触发用户,所述请求用户也可以是所述代码生成请求的间接触发用户。
所述展示界面是指所述初始接口信息的呈现界面,例如,所述展示界面可以是所述电子设备的显示屏幕等。
所述触发操作可以包括删除操作、更新操作及新增操作等。
所述目标接口信息是指基于所述触发操作对所述初始接口信息进行更新所生成的信息。
在本发明的至少一个实施例中,所述电子设备基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息包括:
基于所述代码生成请求中的地址信息,识别出所述代码生成请求的生成地址;
根据所述生成地址定位出所述请求用户;
基于所述请求用户,从所述展示界面的界面操作日志中提取所述触发操作的触发日志;
若所述触发日志包括删除事项,则从所述初始接口信息中,删除与所述删除事项所对应的删除字段的接口信息,得到所述目标接口信息。
其中,所述地址信息是指所述代码生成请求中携带的信息,所述地址信息可以包括,但不限于:所述生成地址、目的地址等。
所述生成地址是指生成所述代码生成请求的IP地址。
所述界面操作日志是指对所述展示界面进行相关操作后所生成的日志信息。
通过所述生成地址,能够准确的定位出所述请求用户,进而基于所述请求用户,能够从所述界面操作日志中准确的筛选出所述触发日志,进而基于所述触发日志中所包括的具体事项,对所述初始接口信息进行相应操作,提高所述目标接口信息的生成准确性。
在其他实施例中,若所述触发日志包括新增事项,则从所述触发日志获取与所述新增事项所对应的新增字段及新增接口信息,根据所述新增字段、所述新增接口信息及所述初始接口信息生成所述目标接口信息。
105,根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码。
需要强调的是,为进一步保证上述接口代码的私密和安全性,上述接口代码还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述目标接口信息包括目标字段。
所述逻辑关系包括嵌套关系、先后关系。
例如,所述目标字段包括:本月度交易额增长率、本月度交易额交易增量、本年度交易额总增长率,由于所述本月度交易额增长率是通过所述本月度交易额交易增量与其他目标字段的数学关系生成的,因此,所述本月度交易额增长率与所述本月度交易额交易增量的逻辑关系为所述嵌套关系。由于所述本年度交易额总增长率是通过多个所述本月度交易额交易增量的总量生成的,因此,所述本月度交易额增长率与所述本年度交易额总增长率的逻辑关系为所述先后关系。
所述接口代码是指与所述生成对象所对应的代码信息。
在本发明的至少一个实施例中,所述电子设备根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码包括:
从所述接口管理服务器中获取所述目标字段的生成方式;
基于所述生成方式识别出所述逻辑关系;
获取所述代码模板的模板代码语言,并获取所述目标字段的字段代码语言;
若所述字段代码语言与所述模板代码语言相同,则基于所述模板代码语言,调用与所述逻辑关系对应的逻辑程序;
根据所述逻辑程序封装所述目标接口信息,得到封装信息;
将所述封装信息写入所述代码模板中,得到所述接口代码。
其中,所述生成方式可以包括,但不限于:所述目标字段的具体生成算法。
所述模板代码语言及字段代码语言可以是JAVA语言等代码程序语言。
所述逻辑程序是指同时与所述模板代码语言及所述逻辑关系所对应的代码程序。
通过所述生成方式能够准确的识别出所述逻辑关系,进而通过结合所述模板代码语言及所述逻辑关系,能够准确的获取到所述逻辑程序,进而提高所述接口代码的生成准确性,同时,通过将所述封装信息直接写入所述代码模板中,能够提高所述接口代码的生成效率。
在其他实施例中,若所述字段代码语言与所述模板代码语言不同,则基于所述模板代码语言对所述目标接口信息进行转换,得到转换接口信息,并根据所述逻辑程序封装所述转换接口信息,得到所述封装信息。
通过上述实施方式,能够在所述字段代码语言与所述模板代码语言不同时,通过对所述目标接口信息进行转换,从而提高所述封装信息的兼容性。
由以上技术方案可以看出,本申请在识别到所述对象类型为所述预设类型时,获取所述待开发功能点,由于所述预设类型的代码具有特定的逻辑固化特性,因此,通过对所述对象类型与所述预设类型的比较,能够避免对所述待开发功能点的多余获取,进而通过增设所述请求用户对所述初始接口信息所处的展示界面的触发操作,能够提高所述目标接口信息的生成合理性,从而避免在所述接口代码中添加了非必要的代码信息,也能够避免所述接口代码中缺少了必要的代码信息,从而提高所述接口代码的准确性,通过结合所述逻辑关系及所述代码模板生成所述接口代码,由于无需人工开发生成所述接口代码,因此,能够提高开发效率,同时,通过自动化所述接口代码,提高所述接口代码的规范性及可读性好,使得所述生成对象易于维护。
如图3所示,是本发明代码生成装置的较佳实施例的功能模块图。所述代码生成装置11包括识别单元110、获取单元111、筛选单元112、生成单元113、封装单元114、拆分单元115、计算单元116、确定单元117及转换单元118。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
识别单元110,用于响应于代码生成请求,识别所述代码生成请求中生成对象的对象类型;
获取单元111,用于若所述对象类型为预设类型,则基于所述代码生成请求获取所述生成对象的待开发功能点;
筛选单元112,用于从接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息,并根据所述生成对象从所述接口管理服务器中筛选出代码模板;
生成单元113,用于基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息;
封装单元114,用于根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码。
在本发明的至少一个实施例中,所述识别单元110,还用于从所述代码生成请求中提取所述生成对象的对象标识;
将所述对象标识与多个配置标识进行字符比较,得到所述对象标识与每个配置标识的标识匹配度;
将所述标识匹配度最大的配置标识所对应的配置类型确定为所述对象类型。
通过所述代码生成请求,能够准确的提取到所述对象标识,进而通过所述对象标识与所述多个配置标识的比较,能够准确的识别出所述标识匹配度,进而通过所述标识匹配度能够从所述多个配置类型中筛选出所述对象类型,提高了所述对象类型的识别准确性。
在本发明的至少一个实施例中,所述获取单元111,还用于基于所述代码生成请求的请求时刻及预设时段生成目标时段;
从预设开发需求文件中获取需求生成时刻处于所述目标时段的系统作为待开发系统;
获取所述待开发系统的系统需求文档;
基于所述生成对象,从所述系统需求文档中筛选出所述待开发功能点。
通过所述预设时段及所述请求时刻,能够合理的生成所述目标时段,进而通过所述目标时段,能够从所述预设开发需求文件中准确的筛选出所述待开发系统,避免了因为所述代码生成请求的生成延迟而造成无法准确获取到所述待开发系统,进而通过所述生成对象,能够准确的从所述系统需求文档中筛选出所述待开发功能点。
在本发明的至少一个实施例中,在从所述接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息之前,所述获取单元111,还用于获取多个历史开发系统;
拆分单元115,用于对每个历史开发系统进行功能点拆分,得到多个系统功能点;
计算单元116,用于计算所述多个系统功能点中任意两个系统功能点的相似度;
确定单元117,用于将所述相似度大于预设阈值的任意两个系统功能点均确定为配置功能点;
所述获取单元111,还用于从所述多个历史开发系统中获取所述配置功能点的功能接口信息作为配置接口信息。
通过分析所述多个系统功能点中任意两个系统功能点的相似度,进而通过所述相似度与所述预设阈值的比较,能够准确的确定出所述配置功能点,从而能够基于所述待开发功能点,从所述接口管理服务器中准确的筛选出所述初始接口信息。
在本发明的至少一个实施例中,所述功能接口信息包括多个功能字段及每个功能字段的项目接口信息,所述获取单元111,还用于从所述多个功能字段中识别出所述任意两个系统功能点的共同字段;
基于所述共同字段对所述项目接口信息进行更新,得到所述配置接口信息。
本实施例中,将所述共同字段的项目接口信息更新为必选项目,得到所述配置接口信息。
通过上述实施方式,由于所述共同字段是指所述任意两个系统功能点中共同存在的系统字段,因此,将所述共同字段的项目接口信息更新为必选项目,提高所述配置接口信息的更新合理性。
在本发明的至少一个实施例中,所述生成单元113,还用于基于所述代码生成请求中的地址信息,识别出所述代码生成请求的生成地址;
根据所述生成地址定位出所述请求用户;
基于所述请求用户,从所述展示界面的界面操作日志中提取所述触发操作的触发日志;
若所述触发日志包括删除事项,则从所述初始接口信息中,删除与所述删除事项所对应的删除字段的接口信息,得到所述目标接口信息。
通过所述生成地址,能够准确的定位出所述请求用户,进而基于所述请求用户,能够从所述界面操作日志中准确的筛选出所述触发日志,进而基于所述触发日志中所包括的具体事项,对所述初始接口信息进行相应操作,提高所述目标接口信息的生成准确性。
在本发明的至少一个实施例中,所述目标接口信息包括目标字段,所述封装单元114,还用于从所述接口管理服务器中获取所述目标字段的生成方式;
基于所述生成方式识别出所述逻辑关系;
获取所述代码模板的模板代码语言,并获取所述目标字段的字段代码语言;
若所述字段代码语言与所述模板代码语言相同,则基于所述模板代码语言,调用与所述逻辑关系对应的逻辑程序;
根据所述逻辑程序封装所述目标接口信息,得到封装信息;
将所述封装信息写入所述代码模板中,得到所述接口代码。
通过所述生成方式能够准确的识别出所述逻辑关系,进而通过结合所述模板代码语言及所述逻辑关系,能够准确的获取到所述逻辑程序,进而提高所述接口代码的生成准确性,同时,通过将所述封装信息直接写入所述代码模板中,能够提高所述接口代码的生成效率。
在其他实施例中,转换单元118,用于若所述字段代码语言与所述模板代码语言不同,则基于所述模板代码语言对所述目标接口信息进行转换,得到转换接口信息;
所述封装单元114,还用于根据所述逻辑程序封装所述转换接口信息,得到所述封装信息。
通过上述实施方式,能够在所述字段代码语言与所述模板代码语言不同时,通过对所述目标接口信息进行转换,从而提高所述封装信息的兼容性。
由以上技术方案可以看出,本申请在识别到所述对象类型为所述预设类型时,获取所述待开发功能点,由于所述预设类型的代码具有特定的逻辑固化特性,因此,通过对所述对象类型与所述预设类型的比较,能够避免对所述待开发功能点的多余获取,进而通过增设所述请求用户对所述初始接口信息所处的展示界面的触发操作,能够提高所述目标接口信息的生成合理性,从而避免在所述接口代码中添加了非必要的代码信息,也能够避免所述接口代码中缺少了必要的代码信息,从而提高所述接口代码的准确性,通过结合所述逻辑关系及所述代码模板生成所述接口代码,由于无需人工开发生成所述接口代码,因此,能够提高开发效率,同时,通过自动化所述接口代码,提高所述接口代码的规范性及可读性好,使得所述生成对象易于维护。
如图4所示,是本发明实现代码生成方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如代码生成程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成识别单元110、获取单元111、筛选单元112、生成单元113、封装单元114、拆分单元115、计算单元116、确定单元117及转换单元118。
所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。
本发明所指区块链是分布式代码生成、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
结合图1,所述电子设备1中的所述存储器12存储计算机可读指令实现一种代码生成方法,所述处理器13可执行所述计算机可读指令从而实现:
响应于代码生成请求,识别所述代码生成请求中生成对象的对象类型;
若所述对象类型为预设类型,则基于所述代码生成请求获取所述生成对象的待开发功能点;
从接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息,并根据所述生成对象从所述接口管理服务器中筛选出代码模板;
基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息;
根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码。
具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:
响应于代码生成请求,识别所述代码生成请求中生成对象的对象类型;
若所述对象类型为预设类型,则基于所述代码生成请求获取所述生成对象的待开发功能点;
从接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息,并根据所述生成对象从所述接口管理服务器中筛选出代码模板;
基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息;
根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种代码生成方法,其特征在于,所述代码生成方法包括:
响应于代码生成请求,识别所述代码生成请求中生成对象的对象类型;
若所述对象类型为预设类型,则基于所述代码生成请求获取所述生成对象的待开发功能点;
从接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息,并根据所述生成对象从所述接口管理服务器中筛选出代码模板;
基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息;
根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码。
2.如权利要求1所述的代码生成方法,其特征在于,所述基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息包括:
基于所述代码生成请求中的地址信息,识别出所述代码生成请求的生成地址;
根据所述生成地址定位出所述请求用户;
基于所述请求用户,从所述展示界面的界面操作日志中提取所述触发操作的触发日志;
若所述触发日志包括删除事项,则从所述初始接口信息中,删除与所述删除事项所对应的删除字段的接口信息,得到所述目标接口信息。
3.如权利要求1所述的代码生成方法,其特征在于,所述目标接口信息包括目标字段,所述根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码包括:
从所述接口管理服务器中获取所述目标字段的生成方式;
基于所述生成方式识别出所述逻辑关系;
获取所述代码模板的模板代码语言,并获取所述目标字段的字段代码语言;
若所述字段代码语言与所述模板代码语言相同,则基于所述模板代码语言,调用与所述逻辑关系对应的逻辑程序;
根据所述逻辑程序封装所述目标接口信息,得到封装信息;
将所述封装信息写入所述代码模板中,得到所述接口代码。
4.如权利要求1所述的代码生成方法,其特征在于,在从所述接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息之前,所述代码生成方法还包括:
获取多个历史开发系统;
对每个历史开发系统进行功能点拆分,得到多个系统功能点;
计算所述多个系统功能点中任意两个系统功能点的相似度;
将所述相似度大于预设阈值的任意两个系统功能点均确定为配置功能点;
从所述多个历史开发系统中获取所述配置功能点的功能接口信息作为配置接口信息。
5.如权利要求4所述的代码生成方法,其特征在于,所述功能接口信息包括多个功能字段及每个功能字段的项目接口信息,所述从所述多个历史开发系统中获取所述配置功能点的功能接口信息作为配置接口信息包括:
从所述多个功能字段中识别出所述任意两个系统功能点的共同字段;
基于所述共同字段对所述项目接口信息进行更新,得到所述配置接口信息。
6.如权利要求1所述的代码生成方法,其特征在于,所述基于所述代码生成请求获取所述生成对象的待开发功能点包括:
基于所述代码生成请求的请求时刻及预设时段生成目标时段;
从预设开发需求文件中获取需求生成时刻处于所述目标时段的系统作为待开发系统;
获取所述待开发系统的系统需求文档;
基于所述生成对象,从所述系统需求文档中筛选出所述待开发功能点。
7.如权利要求1所述的代码生成方法,其特征在于,所述识别所述代码生成请求中生成对象的对象类型包括:
从所述代码生成请求中提取所述生成对象的对象标识;
将所述对象标识与多个配置标识进行字符比较,得到所述对象标识与每个配置标识的标识匹配度;
将所述标识匹配度最大的配置标识所对应的配置类型确定为所述对象类型。
8.一种代码生成装置,其特征在于,所述代码生成装置包括:
识别单元,用于响应于代码生成请求,识别所述代码生成请求中生成对象的对象类型;
获取单元,用于若所述对象类型为预设类型,则基于所述代码生成请求获取所述生成对象的待开发功能点;
筛选单元,用于从接口管理服务器中筛选出与所述待开发功能点匹配的初始接口信息,并根据所述生成对象从所述接口管理服务器中筛选出代码模板;
生成单元,用于基于所述代码生成请求的请求用户对所述初始接口信息所处的展示界面的触发操作,生成目标接口信息;
封装单元,用于根据所述目标接口信息的逻辑关系,在所述代码模板中封装所述目标接口信息,得到接口代码。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的代码生成方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现如权利要求1至7中任意一项所述的代码生成方法。
CN202310257884.8A 2023-03-07 2023-03-07 代码生成方法、装置、设备及存储介质 Pending CN116360769A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310257884.8A CN116360769A (zh) 2023-03-07 2023-03-07 代码生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310257884.8A CN116360769A (zh) 2023-03-07 2023-03-07 代码生成方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116360769A true CN116360769A (zh) 2023-06-30

Family

ID=86912716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310257884.8A Pending CN116360769A (zh) 2023-03-07 2023-03-07 代码生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116360769A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117369784A (zh) * 2023-12-06 2024-01-09 之江实验室 一种服务接口的处理系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117369784A (zh) * 2023-12-06 2024-01-09 之江实验室 一种服务接口的处理系统及方法
CN117369784B (zh) * 2023-12-06 2024-03-05 之江实验室 一种服务接口的处理系统及方法

Similar Documents

Publication Publication Date Title
CN111475513B (zh) 表单生成方法、装置、电子设备及介质
US20190156332A1 (en) Optimization of high volume transaction performance on a blockchain
CN111797351A (zh) 页面数据管理方法、装置、电子设备及介质
CN112668041B (zh) 单证文件的生成方法、装置、计算机设备和存储介质
CN113050900B (zh) 屏幕分享方法、装置、设备及存储介质
CN112669138A (zh) 数据处理方法及相关设备
CN112541009B (zh) 数据查询方法、装置、电子设备及存储介质
CN112506486A (zh) 搜索系统建立方法、装置、电子设备及可读存储介质
CN112433705A (zh) 脚本生成方法、装置、电子设备及存储介质
CN112948418A (zh) 动态查询方法、装置、设备及存储介质
CN116360769A (zh) 代码生成方法、装置、设备及存储介质
CN112416583A (zh) 高频请求处理方法、装置、电子设备及存储介质
CN111814045A (zh) 数据查询方法、装置、电子设备及存储介质
CN111881209A (zh) 异构数据库的数据同步方法、装置、电子设备及介质
CN112784566A (zh) 单证生成方法、装置、设备及存储介质
CN112053058A (zh) 指标模型的生成方法及装置
CN112860662A (zh) 数据血缘关系建立方法、装置、计算机设备及存储介质
CN116956326A (zh) 权限数据的处理方法、装置、计算机设备及存储介质
US20200175195A1 (en) Data transfer management system and data transfer management method
CN112817742B (zh) 数据迁移方法、装置、设备及存储介质
CN110347657A (zh) 数据生成方法、装置、电子设备及存储介质
CN113269179B (zh) 数据处理方法、装置、设备及存储介质
CN112950154B (zh) 流程信息匹配方法、装置、设备及存储介质
CN110851446B (zh) 数据表的生成方法、装置、计算机设备及存储介质
CN113283677A (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