代码生成方法、编译器、装置、设备及计算机可读介质制造方法及图纸

技术编号:38989947 阅读:11 留言:0更新日期:2023-10-07 10:20
本申请涉及计算机技术领域,具体涉及一种代码生成方法、编译器、装置、设备及计算机可读介质。该方法包括:第一电子设备在第一源代码中封装业务集成相关的至少一个接口、并预设第一配置文件,创建第一代码模板并存储至代码托管平台;第二电子设备响应于接收到的开发需求,从代码托管平台获取与开发需求相关的第一代码模板,并解析第一代码模板中封装的第一配置文件,得到与目标用户相关的/用于修改第一代码模板中预先配置的可修改内容的第一配置数据;第二电子设备利用第一配置数据修改第一代码模板中的相应内容,生成满足开发需求的目标代码,并将目标代码存储至代码托管平台。如此,能满足个性化需求生成代码,有利于开发效率。率。率。

【技术实现步骤摘要】
代码生成方法、编译器、装置、设备及计算机可读介质


[0001]本专利技术涉及软件
,具体涉及一种代码生成方法、编译器、装置、设备及计算机可读介质。

技术介绍

[0002]为了提升开发速度,最大程度上提高代码的可复用性,基于(代码)模板的二次开发是一种趋势。其中,代码的功能主要是跟已有的业务服务集成,代码模板可以提供可复制的可执行代码,即源代码。该可执行代码屏蔽了跟业务服务集成的繁琐过程,开发人员可以基于模板快速将生成的代码与已有的业务服务进行集成。
[0003]如何基于已有的模板快速且正确的生成代码,并将生成的代码托管到外部平台(例如github)上。其中github是一个代码托管的云服务网站,帮助开发人员存储和管理其项目源代码,且能够追踪、记录并控制用户对其代码的修改。然而,目前存储至github管理的一些开源项目的源代码,可供开发人员访问学习,但无法提供快速生成相应功能代码的模板。如此,开发人员在需要开发相应功能的项目代码时,仍需自行开发,效率较低。而另一些私有平台虽然能够提供代码模板,但这类代码模板往往需要付费购买,并且基于这类代码模板生成代码的过程通常将模板提供的源代码下载到本地进行修改,而无法直接基于该模板个性化地生成能够直接应用于开发人员的开发环境的源代码。如此,基于这类模板开发代码的过程也很繁琐复杂,效率低下。
[0004]综上,目前开发人员在生成项目代码的过程中仍存在开发效率难以提高的问题。

技术实现思路

[0005]本申请提供了一种代码生成方法、编译器、装置、设备及计算机可读介质,能够提高开发效率,为开发人员提供基于特定的代码模板生成的、针对不同租户数据的可执行代码,实现代码生成过程的个性化定制。
[0006]第一方面,本申请提供了一种代码生成方法,该方法包括:第一电子设备在第一源代码中封装至少一个接口、并预设第一配置文件,创建第一代码模板,其中至少一个接口为业务集成相关的接口,第一源代码为能够实现第一类功能或服务的可执行代码,第一配置文件包括为第一源代码配置的与目标用户相关的配置数据;第一电子设备将第一代码模板存储至代码托管平台;第二电子设备响应于接收到的开发需求,从代码托管平台获取与开发需求相关的第一代码模板,其中开发需求包括在待开发的目标项目中集成第一类功能或服务的需求;第二电子设备解析第一代码模板中封装的第一配置文件,得到与目标用户相关的第一配置数据,其中第一配置数据用于修改第一代码模板中预先配置的可修改内容;第二电子设备利用第一配置数据修改第一代码模板中的相应内容,生成满足开发需求的目标代码,并将目标代码存储至代码托管平台,其中目标代码用于实现第一类功能或服务来处理与目标用户相关的数据。
[0007]例如,上述第一电子设备可以是开发人员开发项目代码使用的开发终端,上述第
一源代码可以是开发人员已开发的历史项目中用于执行相应功能或服务的源代码。第一电子设备在基于已开发的项目源代码创建第一代码模板后,可以将该代码模板指定托管至代码托管平台上以供第二电子设备获取并生成所需的可执行代码。
[0008]进而,当开发人员需要在即将开发的项目中集成上述第一源代码提供的功能或服务时,则可以请求第二电子设备,例如编译服务器或其他具有相应配置功能的服务器或服务器集群,向代码托管平台获取上述第一代码模板并基于该代码模板中预设的配置文件(例如上述第一配置文件)动态解释,修改该代码模板中的相应配置内容,即上述预先配置的可修改内容。如此,基于第一代码模板生成的可执行代码便可以直接基于上述配置,获取对应配置的租户数据或其他与目标用户相关的运行所需数据,实现针对相应数据的处理功能。
[0009]可见,基于上述第一方面提供的代码生成方法,开发人员无需花费精力对代码模板中封装的源代码进行手动配置,而是可以直接获取针对目标用户相关数据的可执行代码。如此,可以大大提高开发效率,节省开发人员开发后续项目代码的开发时间。
[0010]在上述第一方面的一种可能的实现中,第一电子设备将第一代码模板存储至代码托管平台,包括:第一电子设备将创建的第一代码模板发送给代码托管平台,并指示代码托管平台将第一代码模板存入对应创建的模板库,其中,模板库为基于第一源代码对应托管的第一代码库创建的用于存储相应代码模板的存储空间。
[0011]即第一电子设备在基于已开发的项目源代码创建第一代码模板后,可以将该代码模板指定托管至代码托管平台对应创建的模板库中。如此,可便于代码托管平台对基于不同功能或服务对应的源代码创建的代码模板进行分类存储和管理,也便于后续该代码模板被获取并用于生成相应的可执行代码。
[0012]在上述第一方面的一种可能的实现中,第一电子设备在已开发的第一源代码中封装至少一个接口、并预设第一配置文件,创建第一代码模板,包括:第一电子设备将与业务集成相关的一个或多个接口之间的调用逻辑和上下文数据,封装至第一源代码中,生成第二代码模板;第一电子设备在第二代码模板中预设第一配置文件、并将第一配置文件对应的调用路径预设在第二代码模板中,创建第一代码模板。
[0013]即创建代码模板的方式,可以是将业务集成相关的接口及各接口之间的调用逻辑封装在第一源代码中,并预设用于配置相应租户数据或其他与用户相关的内容的配置文件。其中,各接口之间的调用逻辑可以与相应的业务集成相关,该业务场景例如可以时第一源代码被开发时所应用的业务场景。如此创建的代码模板,则可以在被动态解释时,自动生成与用户相关的可执行代码。
[0014]在上述第一方面的一种可能的实现中,第二电子设备包括预设的用于解析第一配置文件的引擎服务,并且,第二电子设备解析第一代码模板中封装的第一配置文件,得到与目标用户相关的第一配置数据,包括:第二电子设备运行引擎服务对第一配置文件进行解析,得到第一配置数据。
[0015]在上述第一方面的一种可能的实现中,开发需求对应于第三电子设备请求生成目标代码以用于编译目标项目的项目代码的需求,并且,方法包括:
[0016]确定目标代码已存入代码托管平台的第二代码库,第二电子设备或代码托管平台向第三电子设备发送通知消息,其中,通知消息用于通知第三电子设备目标代码已存入第
二代码库,其中第二代码库为基于模板库对应创建的用于存放目标代码的存储空间;第三电子设备基于接收到的通知消息,向代码托管平台请求获取目标代码。
[0017]例如,上述第三电子设备为开发人员开发项目代码所使用的开发终端,该电子设备可以与上述第一电子设备相同或不同。当第三电子设备需要使用生成的目标代码时,通过请求第二电子设备生成相应的目标代码后,可以基于第二电子设备或代码托管平台的通知,获取已被存储至代码托管平台的目标代码。如此,可以打破私有平台对代码模板的管理局限,有利于各业务平台的开发人员共享相同功能或服务的源代码,提高开发效率。
[0018]在上述第一方面的一种可能的实现中,该通知消息为代码托管平台发送的广播消息,或者,通知消息为第二电子设备基于与第三电子设备之间的通信连接发送的通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码生成方法,其特征在于,包括:第一电子设备在第一源代码中封装至少一个接口、并预设第一配置文件,创建第一代码模板,其中所述至少一个接口为业务集成相关的接口,所述第一源代码为能够实现第一类功能或服务的可执行代码,所述第一配置文件包括为所述第一源代码配置的与目标用户相关的配置数据;第一电子设备将所述第一代码模板存储至所述代码托管平台;第二电子设备响应于接收到的开发需求,从所述代码托管平台获取与所述开发需求相关的所述第一代码模板,其中所述开发需求包括在待开发的目标项目中集成所述第一类功能或服务的需求;第二电子设备解析所述第一代码模板中封装的所述第一配置文件,得到与目标用户相关的第一配置数据,其中所述第一配置数据用于修改所述第一代码模板中预先配置的可修改内容;第二电子设备利用所述第一配置数据修改所述第一代码模板中的相应内容,生成满足所述开发需求的目标代码,并将所述目标代码存储至所述代码托管平台,其中所述目标代码用于实现所述第一类功能或服务来处理与目标用户相关的数据。2.根据权利要求1所述的方法,其特征在于,所述第一电子设备将所述第一代码模板存储至所述代码托管平台,包括:第一电子设备将创建的所述第一代码模板发送给所述代码托管平台,并指示所述代码托管平台将所述第一代码模板存入对应创建的模板库,其中,所述模板库为基于所述第一源代码对应托管的第一代码库创建的用于存储相应代码模板的存储空间。3.根据权利要求1所述的方法,其特征在于,所述第一电子设备在已开发的第一源代码中封装至少一个接口、并预设第一配置文件,创建第一代码模板,包括:第一电子设备将与业务集成相关的一个或多个接口之间的调用逻辑和上下文数据,封装至所述第一源代码中,生成第二代码模板;第一电子设备在所述第二代码模板中预设所述第一配置文件、并将所述第一配置文件对应的调用路径预设在所述第二代码模板中,创建所述第一代码模板。4.根据权利要求1所述的方法,其特征在于,所述第二电子设备包括预设的用于解析所述第一配置文件的引擎服务,并且,所述第二电子设备解析所述第一代码模板中封装的所述第一配置文件,得到与目标用户相关的第一配置数据,包括:第二电子设备运行所述引擎服务对所述第一配置文件进行解析,得到所述第一配置数据。5.根据权利要求1所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:张志俭莫元武
申请(专利权)人:易保网络技术上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1