CN108563435B - 代码生成的方法及装置 - Google Patents

代码生成的方法及装置 Download PDF

Info

Publication number
CN108563435B
CN108563435B CN201810352487.8A CN201810352487A CN108563435B CN 108563435 B CN108563435 B CN 108563435B CN 201810352487 A CN201810352487 A CN 201810352487A CN 108563435 B CN108563435 B CN 108563435B
Authority
CN
China
Prior art keywords
code
repeated
various
sdk
service interface
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.)
Active
Application number
CN201810352487.8A
Other languages
English (en)
Other versions
CN108563435A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810352487.8A priority Critical patent/CN108563435B/zh
Publication of CN108563435A publication Critical patent/CN108563435A/zh
Application granted granted Critical
Publication of CN108563435B publication Critical patent/CN108563435B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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/73Program documentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提出一种代码生成的方法及装置。其中,该方法包括:从各种编程语言的SDK的各模板文件中,获取采用选定编程语言生成重复性服务接口所需的目标模板文件;从所述SDK的各配置文件中,获取所述重复性服务接口的目标配置文件;根据所述重复性服务接口的目标模板文件和目标配置文件,采用选定编程语言自动生成所述重复性服务接口的调用代码。本发明实施例可以大大缩短开发以及维护SDK的重复代码需要花费的时间和精力,减少代码编写错误,提高代码质量。

Description

代码生成的方法及装置
技术领域
本发明涉及计算机领域,尤其是一种代码生成的方法及装置。
背景技术
对外网络(web)请求需要支持各种编程语言,例如:C++、C#、java、php、python、JavaScript等,访问调用web服务接口。为了方便开发者调用,开发各编程语言的SDK(Software Development Kit,软件开发工具包)。由于接口的数量与编程语言数量的组合使得需要开发的代码数量会成倍增长,并且如果发生一些逻辑变更也需要及时同步SDK的代码。
现有一些代码生成的方法和工具一般针对的是特定领域,例如针对某些特定平台,例如donet平台访问数据库访问的代码,无法应用到SDK等其他场合,也无法满足需要生成多种语言的代码的场合。
发明内容
本发明实施例提供一种代码生成的方法及装置,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种代码生成的方法,包括:
从各种编程语言的软件开发工具包SDK的各模板文件中,获取采用选定编程语言生成重复性服务接口所需的目标模板文件;
从所述SDK的各配置文件中,获取所述重复性服务接口的目标配置文件;
根据所述重复性服务接口的目标模板文件和目标配置文件,采用选定编程语言自动生成所述重复性服务接口的调用代码。
结合第一方面,本发明实施例在第一方面的第一种实现方式中,还包括:
根据所述SDK的各种服务接口中的非重复性服务接口和重复性服务接口的调用代码,组合得到包括所述SDK的各种服务接口的调用代码的文件。
结合第一方面,本发明实施例在第一方面的第二种实现方式中,还包括:
根据各种编程语言的SDK的重复性代码,确定所述SDK的各种重复性服务接口;
根据各种编程语言的代码规则,生成各种重复性服务接口对应的模板文件;
根据各种重复性服务接口的共用描述字段,生成各种重复性服务接口对应的配置文件。
结合第一方面的第二种实现方式,本发明实施例在第一方面的第三种实现方式中,各种重复性服务接口包括:文字识别服务接口、人脸识别服务接口、图片搜索服务接口中的至少一种。
结合第一方面的第二种实现方式,本发明实施例在第一方面的第四种实现方式中,所述共用描述字段包括:调用地址、参数名称列表和参数类型列表中的至少一种。
第二方面,本发明实施例提供了一种代码生成的装置,包括:
模板文件获取模块,用于从各种编程语言的SDK的各模板文件中,获取采用选定编程语言生成重复性服务接口所需的目标模板文件;
配置文件获取模块,用于从所述SDK的各配置文件中,获取所述重复性服务接口的目标配置文件;
调用代码生成模块,用于根据所述重复性服务接口的目标模板文件和目标配置文件,采用选定编程语言自动生成所述重复性服务接口的调用代码。
结合第二方面,本发明实施例在第二方面的第一种实现方式中,还包括:
组合模块,用于根据所述SDK的各种服务接口中的非重复性服务接口和重复性服务接口的调用代码,组合得到包括所述SDK的各种服务接口的调用代码的文件。
结合第二方面,本发明实施例在第二方面的第二种实现方式中,包括:
重复性接口确定模块,用于根据各种编程语言的SDK的重复性代码,确定所述SDK的各种重复性服务接口;
模板文件生成模块,用于根据各种编程语言的代码规则,生成各种重复性服务接口对应的模板文件;
配置文件生成模块,用于根据各种重复性服务接口的共用描述字段,生成各种重复性服务接口对应的配置文件。
结合第二方面的第二种实现方式,本发明实施例在第二方面的第三种实现方式中,各种重复性服务接口包括:文字识别服务接口、人脸识别服务接口、图片搜索服务接口中的至少一种。
结合第二方面的第二种实现方式,本发明实施例在第二方面的第四种实现方式中,所述共用描述字段包括:调用地址、参数名称列表和参数类型列表中的至少一种。
第三方面,本发明实施例提供了一种代码生成的装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,代码生成的装置的结构中包括处理器和存储器,所述存储器用于存储支持代码生成的装置执行上述代码生成的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述代码生成的装置还可以包括通信接口,用于代码生成的装置与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储代码生成的装置所用的计算机软件指令,其包括用于执行上述代码生成的方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:由于使用模板文件带来的一致性,减少了需要人工编写的重复代码,可以大大缩短开发以及维护SDK的重复代码需要花费的时间和精力,在一定程度上提高了代码质量,减少了由于人工编写代码而出现的不易发现的错误。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明一实施例的代码生成的方法的流程图。
图2示出根据本发明一实施例的代码生成的方法的流程图。
图3示出根据本发明另一实施例的代码生成的方法的流程图。
图4示出根据本发明另一实施例的代码生成的方法的流程图。
图5示出根据本发明一实施例的代码生成的装置的结构框图。
图6示出根据本发明另一实施例的代码生成的装置的结构框图。
图7示出根据本发明另一实施例的代码生成的装置的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本发明一实施例的代码生成的方法的流程图。如图1所示,该方法可以包括:
步骤S110:从各种编程语言的SDK的各模板文件中,获取采用选定编程语言生成重复性服务接口所需的目标模板文件。
在本实施例中,各种编程语言可以包括C++、C#、Java、php、python、JavaScript等中的一种或者多个,但不限于这些语言。在实际应用场景中,可以选择任意一种编程语言来编写SDK的各种服务接口,所选择的编程语言为选定编程语言。
在采用各种编程语言生成SDK的过程中,需要编写很多的服务接口。同一SDK或不同SDK中可能重复出现一些服务接口,因此具有大量冗余有规律的代码。这些重复出现的服务接口,可以称为重复性服务接口。例如,各种重复性服务接口包括:文字识别服务接口、人脸识别服务接口、图片搜索服务接口中的至少一种。
对于每一种重复性服务接口,可以预先按照每一种编程语言的代码规则,生成对应的模板文件。模板文件是各编程语言的代码模板,各编程语言的模板文件用以渲染一系列接口的调用代码。
步骤S120:从所述SDK的各配置文件中,获取所述重复性服务接口的目标配置文件。
在本发明实施例中,配置文件用于描述重复的数据源。配置文件作为模板文件的数据源,可以采用多种数据格式,例如json、yaml、xml等。因此,配置文件中包括的数据源可以是表示有一定共同性质的信息(例如共用描述字段),对应于生成有一定共通性的代码。例如,共用描述字段包括调用地址、参数名称列表、参数类型列表等中的至少一种。
步骤S130:根据所述重复性服务接口的目标模板文件和目标配置文件,采用选定编程语言自动生成所述重复性服务接口的调用代码。
参见图2,主程序可以读取配置文件,加载模板文件,然后通过模板引擎结合配置文件和模板文件渲染出该服务接口的调用代码。不同的语言可以采用对应的模板引擎进行渲染,例如python语言的模板引擎为jinjia2,java语言的模板引擎为velocity,php语言的模板引擎为smarty等。
主程序生成的调用代码属于规则代码,属于有特定规律的重复性代码。在自动生成服务接口的调用代码的过程中,也可以根据需要,人工处理一些不方便放到模板文件和配置文件中的特殊逻辑例如调用代码的依赖部分,包括如网络请求、接口鉴权等。可以根据不同的使用场景灵活定制调用代码的依赖部分,具有一定灵活性。
在一种示例中,针对百度AI开发平台的服务接口,SDK需要提供文字识别服务、人脸识别服务、图片搜索服务等多个服务下几十个接口的调用代码。这些调用代码由java、c++、php、python等多种编程语言(可以简称语言)编写,用以提供给多种语言的开发者。在这种应用场景下,模板文件是每种语言的代码模板。每种语言的模板文件用以渲染一系列接口的调用代码。配置文件是每一个接口的描述,描述中包括生成每个接口调用代码需要的字段,例如调用地址、参数名称列表、参数类型列表等。模板文件可以通过配置文件中一系列接口的描述生成一系列的调用代码,最终组合成SDK的重复部分代码。
本公开实施例的代码生成方法,采用配置文件和模板文件生成SDK中各种重复性服务接口的调用代码,并且可以同时生成调用文档、测试代码等部分。SDK开发者只需要开发一些核心的不冗余代码。由于使用模板文件带来的一致性,减少了需要人工编写的重复代码,可以大大缩短开发以及维护SDK的重复代码需要花费的时间和精力,在一定程度上提高了代码质量,减少了由于人工编写代码而出现的不易发现的错误。
图3示出根据本发明另一实施例的代码生成的方法的流程图。如图3所示,步骤S110、步骤S120、步骤S130的含义可以参见上述实施例的相关描述,在此不再赘述。
与上述实施例的不同之处在于,该方法还包括以下步骤:
步骤S310:根据所述SDK的各种服务接口中的非重复性服务接口和重复性服务接口的调用代码,组合得到包括所述SDK的各种服务接口的调用代码的文件。
如果是SDK的重复性服务接口,可以采用上述实施例中的步骤S110、步骤S120、步骤S130自动生成该服务接口的调用代码,然后编写调用代码的依赖部分。如果是SDK的非重复性服务接口,可以人工编写调用代码和依赖部分。然后,将非重复性服务接口和重复性服务接口的调用代码、依赖部分按照选定编程语言的特点进行设计和编写,组合得到包括SDK的所有服务接口的调用代码的文件。
参见图4,多语言代码生成工具可以采用本发明实施例的代码生成的方法获得。规则代码是利用多语言代码生成工具生成各编程语言的SDK中有特定规律的重复性代码。规则代码中可以包括各种重复性服务接口的调用代码。不规则代码可以各种非重复性服务接口的调用代码,不规则代码可以由人工进行编写。完成某些业务的代码库是利用多语言代码生成工具产出的最终代码产品,是由多语言代码生成工具产出的规则代码与人工产出的不规则代码部分组成的整体部分。完成某些业务的代码库可以是有具体功能的产品,例如服务于开发者的各编程语言的SDK。本发明实施例还可以解决其他代码冗余问题和多语言需求的代码产品。
在一种可能的实现方式中,该方法还可以包括生成模板文件和配置文件的步骤,具体如下:
步骤S210:根据各种编程语言的SDK的重复性代码,确定所述SDK的各种重复性服务接口。
在各种编程语言的SDK中存在大量冗余有规律的代码,这些代码可以称为重复性代码。对于每一种编程语言的SDK,可以将其中的重复性代码所实现的服务接口抽取出来。例如,从SDK中抽取文字识别服务、人脸识别服务、图片搜索服务下的各个接口,作为重复性服务接口。
步骤S220:根据各种编程语言的代码规则,生成各种重复性服务接口对应的模板文件。
在实际应用中,可以使用任意的模板引擎生成模板文件,例如python语言的jinjia2,java语言的velocity,php语言的smarty等。对于每一种编程语言,采用对应的模板引擎生成各种重复性服务接口对应的模板文件。
步骤S230:根据各种重复性服务接口的共用描述字段,生成各种重复性服务接口对应的配置文件。
对于每一种重复性服务接口,可以将该接口的有一定共同性质的信息例如共用描述字段保存在配置文件中。
图5示出根据本发明一实施例的代码生成的装置的结构框图。参照图5,该代码生成的装置包括:
模板文件获取模块510,用于从各种编程语言的SDK的各模板文件中,获取重复性服务接口在选定编程语言对应的目标模板文件;
配置文件获取模块520,用于从所述SDK的各配置文件中,获取所述重复性服务接口对应的目标配置文件;
调用代码生成模块530,用于根据所述重复性服务接口对应的目标模板文件和目标配置文件,自动生成所述重复性服务接口在选定编程语言对应的调用代码。
图6示出根据本发明另一实施例的代码生成的装置的结构框图。在上一实施例的基础上,参照图6,该代码生成的装置还包括:
组合模块710,用于根据所述SDK的各种服务接口中的非重复性服务接口和重复性服务接口的调用代码,组合得到包括所述SDK的各种服务接口的调用代码的文件。
在一种可能的实现方式中,参照图6,该代码生成的装置还还包括:
重复性接口确定模块610,用于根据各种编程语言的SDK的重复性代码,确定所述SDK的各种重复性服务接口;
模板文件生成模块620,用于根据各种重复性服务接口在各种编程语言对应的代码规则,生成对应的模板文件;
配置文件生成模块630,用于根据所述各种重复性服务接口的共用描述字段,生成所述各种重复性服务接口对应的配置文件。
本发明实施例的装置中各模块的功能可以参见上述方法的相关描述,在此不再赘述。
图7示出根据本发明另一实施例的代码生成的设备的结构示意图。如图7所示,该代码生成的设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的代码生成的方法。所述存储器910和处理器920的数量可以为一个或多个。
该代码生成的设备还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种代码生成的方法,其特征在于,包括:
从各种编程语言的软件开发工具包SDK的各模板文件中,获取采用选定编程语言生成重复性服务接口所需的目标模板文件;
从所述SDK的各配置文件中,获取所述重复性服务接口的目标配置文件;所述目标配置文件用于描述重复的数据源;
根据所述重复性服务接口的目标模板文件和目标配置文件,采用选定编程语言自动生成所述重复性服务接口的调用代码;所述调用代码由模板引擎结合所述目标配置文件和所述目标模板文件渲染生成;
所述目标模板文件和所述目标配置文件通过下述步骤生成:
根据各种编程语言的SDK的重复性代码,确定所述SDK的各种重复性服务接口;
根据各种编程语言的代码规则,生成各种重复性服务接口对应的模板文件;
根据各种重复性服务接口的共用描述字段,生成各种重复性服务接口对应的配置文件。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述SDK的各种服务接口中的非重复性服务接口和重复性服务接口的调用代码,组合得到包括所述SDK的各种服务接口的调用代码的文件。
3.根据权利要求1所述的方法,其特征在于,各种重复性服务接口包括:文字识别服务接口、人脸识别服务接口、图片搜索服务接口中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述共用描述字段包括:调用地址、参数名称列表和参数类型列表中的至少一种。
5.一种代码生成的装置,其特征在于,包括:
模板文件获取模块,用于从各种编程语言的SDK的各模板文件中,获取采用选定编程语言生成重复性服务接口所需的目标模板文件;
配置文件获取模块,用于从所述SDK的各配置文件中,获取所述重复性服务接口的目标配置文件;
调用代码生成模块,用于根据所述重复性服务接口的目标模板文件和目标配置文件,采用选定编程语言自动生成所述重复性服务接口的调用代码;
重复性接口确定模块,用于根据各种编程语言的SDK的重复性代码,确定所述SDK的各种重复性服务接口;
模板文件生成模块,用于根据各种编程语言的代码规则,生成各种重复性服务接口对应的模板文件;
配置文件生成模块,用于根据各种重复性服务接口的共用描述字段,生成各种重复性服务接口对应的配置文件。
6.根据权利要求5所述的装置,其特征在于,还包括:
组合模块,用于根据所述SDK的各种服务接口中的非重复性服务接口和重复性服务接口的调用代码,组合得到包括所述SDK的各种服务接口的调用代码的文件。
7.根据权利要求5所述的装置,其特征在于,各种重复性服务接口包括:文字识别服务接口、人脸识别服务接口、图片搜索服务接口中的至少一种。
8.根据权利要求5所述的装置,其特征在于,所述共用描述字段包括:调用地址、参数名称列表和参数类型列表中的至少一种。
9.一种代码生成的装置,其特征在于,所述装置包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN201810352487.8A 2018-04-19 2018-04-19 代码生成的方法及装置 Active CN108563435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810352487.8A CN108563435B (zh) 2018-04-19 2018-04-19 代码生成的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810352487.8A CN108563435B (zh) 2018-04-19 2018-04-19 代码生成的方法及装置

Publications (2)

Publication Number Publication Date
CN108563435A CN108563435A (zh) 2018-09-21
CN108563435B true CN108563435B (zh) 2019-09-27

Family

ID=63535741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810352487.8A Active CN108563435B (zh) 2018-04-19 2018-04-19 代码生成的方法及装置

Country Status (1)

Country Link
CN (1) CN108563435B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324373B (zh) * 2018-12-13 2023-12-05 北京奇虎科技有限公司 多个工程文件上传代码仓库的方法及装置、计算设备
CN109976761B (zh) * 2019-02-27 2022-06-07 平安科技(深圳)有限公司 软件开发工具包的生成方法、装置及终端设备
CN110109697B (zh) * 2019-04-03 2023-08-18 北京旷视科技有限公司 神经网络模型的sdk输出方法、装置、电子设备及存储介质
CN110058864B (zh) * 2019-04-18 2023-08-22 成都四方伟业软件股份有限公司 微服务的部署方法及装置
CN112114789B (zh) * 2019-06-20 2024-02-06 腾讯科技(深圳)有限公司 一种业务开发方法及设备
CN113254019A (zh) * 2020-02-10 2021-08-13 北京沃东天骏信息技术有限公司 注册前端数据流状态文件的方法和装置
CN111324343B (zh) * 2020-02-20 2022-03-25 蚂蚁财富(上海)金融信息服务有限公司 代码生成方法以及装置
CN113535141A (zh) * 2020-04-16 2021-10-22 浙江大搜车软件技术有限公司 数据库操作代码的生成方法及装置
CN111638906B (zh) * 2020-05-15 2023-02-03 郑州阿帕斯数云信息科技有限公司 一种软件开发工具包sdk接入方法、装置和系统
CN111782207A (zh) * 2020-06-23 2020-10-16 北京青云科技股份有限公司 任务流代码生成方法、装置、设备及存储介质
CN113448572B (zh) * 2021-02-26 2024-04-16 北京新氧科技有限公司 软件项目开发方法及装置、计算机存储介质、计算机设备
CN112860239A (zh) * 2021-03-15 2021-05-28 京东数科海益信息科技有限公司 一种数据类型转换方法、装置、电子设备及存储介质
CN112965697B (zh) * 2021-03-25 2023-07-25 北京奇艺世纪科技有限公司 一种代码文件的生成方法、装置及电子设备
CN113515271B (zh) * 2021-05-17 2024-02-23 中国工商银行股份有限公司 服务代码生成方法、装置、电子设备及可读存储介质
CN115480745B (zh) * 2022-08-25 2023-10-24 贝壳找房(北京)科技有限公司 基于配置文件的代码生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000022517A1 (en) * 1998-10-13 2000-04-20 Codagen Technologies Corp. Component-based source code generator
CN102508669A (zh) * 2011-11-14 2012-06-20 浙江鸿程计算机系统有限公司 一种程序代码自动生成方法
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000022517A1 (en) * 1998-10-13 2000-04-20 Codagen Technologies Corp. Component-based source code generator
CN102508669A (zh) * 2011-11-14 2012-06-20 浙江鸿程计算机系统有限公司 一种程序代码自动生成方法
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置

Also Published As

Publication number Publication date
CN108563435A (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
CN108563435B (zh) 代码生成的方法及装置
CN109597661B (zh) 一种业务功能配置方法及装置
Fontoura et al. UML-F: A modeling language for object-oriented frameworks
VanderWeele et al. Results on differential and dependent measurement error of the exposure and the outcome using signed directed acyclic graphs
CN102810060B (zh) 一种安致图片资源配置方法及装置
DE202016008042U1 (de) Infrastruktur für Hosting und Publishing von Softwarepaketen
WO1997048033A2 (en) Data representation for mixed-language program development
US9274904B2 (en) Software only inter-compute unit redundant multithreading for GPUs
CN112988153A (zh) 基于微前端的数据处理方法及框架
CN110210021A (zh) 阅读理解方法及装置
CN109522319A (zh) 基于dsl的数据映射方法及装置、电子设备、存储介质
CN109375912B (zh) 模型序列化方法、装置及存储介质
Garcia Tropes as character-grounders
JP3150611B2 (ja) パターン発生装置
CN107734050A (zh) 一种负载机分配方法、计算设备及负载机分配系统
US8276165B2 (en) Continuation-based runtime callback invocation
Abe Population monotonic allocation schemes for games with externalities
Stieb A critique of positive responsibility in computing
CN110471851A (zh) 一种自动化测试方法及装置
Gaß Physical analog models in architectural design
Forster et al. Understanding Decision Models-Visualization and Complexity Reduction of Software Variability.
CN110083695A (zh) 技能服务调用方法、装置及存储介质
CN108563621A (zh) 一种pdf报表生成方法、装置、设备及存储介质
US20210334643A1 (en) Processing unit for performing operations of a neural network
CN110308971A (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
GR01 Patent grant
GR01 Patent grant