【技术实现步骤摘要】
代码生成方法、装置、设备、存储介质及计算机程序
[0001]本申请涉及计算机
,特别涉及一种代码生成方法、装置、设备、存储介质及计算机程序。
技术介绍
[0002]JavaScript(简称“JS”)是一种具有函数优先的轻量级、解释型或即时编译型的编程语言。该语言被广泛应用于全球广域网(world wide web,Web)应用的开发。
[0003]在Web应用开发过程中,为了提升代码的编写效率,技术人员通常使用基于JS的开发框架对Web应用进行设计,比如,Vue、React等等。然而,在对Web应用进行设计时,技术人员编写的Web应用代码包括业务逻辑代码和外观代码,但由于Web应用通常需要适配手机、电脑等不同的终端设备,而不同的终端设备所对应的Web应用的外观不同。在这种情况下,对于具有相同业务逻辑的Web应用,技术人员需要重复编写针对不同终端的Web应用的代码,使得Web应用具有与终端设备相适应的外观,这会导致技术人员将大量的时间花费在代码的书写上,从而大大增加了人力成本与时间成本。
技术实现思路
[0004]本申请提供了一种代码生成方法、装置、设备、存储介质及计算机程序,可以解决相关技术中应用开发的效率较低的问题。所述技术方案如下:
[0005]第一方面,提供了一种代码生成方法,所述方法包括:获取目标应用的业务逻辑代码和所述目标应用在目标开发框架下的至少一个外观代码,所述业务逻辑代码指示所述目标应用的功能,所述至少一个外观代码指示所述目标应用的至少一种外观,所述至少一种外观 ...
【技术保护点】
【技术特征摘要】
1.一种代码生成方法,其特征在于,所述方法包括:获取目标应用的业务逻辑代码和所述目标应用在目标开发框架下的至少一个外观代码,所述业务逻辑代码指示所述目标应用的功能,所述至少一个外观代码指示所述目标应用的至少一种外观,所述至少一种外观与至少一种终端类型对应;基于所述业务逻辑代码,确定所述目标应用在所述目标开发框架下的无渲染代码;对所述无渲染代码和所述至少一个外观代码进行组织,以得到所述目标应用在所述目标开发框架下的完整代码。2.如权利要求1所述的方法,其特征在于,所述基于所述业务逻辑代码,确定所述目标应用在所述目标开发框架下的无渲染代码,包括:确定所述业务逻辑代码中的至少一个逻辑函数的函数名、所述至少一个逻辑函数分别对应的至少一个参数的参数名以及所述至少一个参数中每个参数的属性名;基于所述至少一个逻辑函数的函数名、所述至少一个参数的参数名、所述每个参数的属性名和所述业务逻辑代码的存储路径,对所述目标开发框架对应的无渲染模板进行填充,以得到所述目标应用在所述目标开发框架下的无渲染代码。3.如权利要求2所述的方法,其特征在于,所述业务逻辑代码包括逻辑代码注释和逻辑代码本体;所述确定所述业务逻辑代码中的至少一个逻辑函数的函数名、所述至少一个逻辑函数分别对应的至少一个参数的参数名以及所述至少一个参数中每个参数的属性名,包括:从所述逻辑代码本体中获取所述至少一个逻辑函数的函数名;从所述逻辑代码注释中获取所述至少一个逻辑函数分别对应的至少一个参数的参数名以及所述每个参数的属性名。4.如权利要求1
‑
3任意一项权利要求所述的方法,其特征在于,所述目标应用为Web应用,所述目标开发框架为Vue框架,所述目标应用包括至少一个组件,所述至少一个外观代码指示所述至少一个组件的至少一种外观;所述对所述无渲染代码和所述至少一个外观代码进行组织,以得到所述目标应用在所述目标开发框架下的完整代码,包括:基于所述至少一个外观代码,确定所述至少一个组件中包含的子组件的组件名以及所述至少一个组件的属性名;基于所述至少一个组件的属性名、所述子组件的组件名和所述无渲染代码的存储路径,对所述目标开发框架对应的代码适配模板进行填充,以得到所述目标应用在所述目标开发框架下的完整代码。5.如权利要求4所述的方法,其特征在于,所述至少一个外观代码中每个外观代码包括外观代码注释;所述基于所述至少一个外观代码,确定所述至少一个组件中的子组件的组件名以及所述至少一个组件的属性名,包括:从所述外观代码注释中获取所述子组件的组件名以及所述至少一个组件的属性名。6.如权利要求1
‑
3任意一项权利要求所述的方法,其特征在于,所述目标应用为Web应用,所述目标开发框架为React框架,所述目标应用包括至少一个组件,所述至少一个外观代码指示所述至少一个组件的至少一种外观;所述对所述无渲染代码和所述至少一个外观代码进行组织,以得到所述目标应用在所述目标开发框架下的完整代码,包括:基于所述至少一个外观代码确定所述至少一个组件的属性名;
确定所述业务逻辑代码中的至少一个逻辑函数的函数名;基于所述至少一个组件的属性名、所述至少一个逻辑函数的函数名和所述无渲染代码的存储路径,对所述目标开发框架对应的代码适配模板进行填充,以得到所述目标应用在所述目标开发框架下的完整代码。7.如权利要求6所述的方法,其特征在于,所述至少一个外观代码中每个外观代码包括外观代码本体,或者,包括所述外观代码本体和外观代码注释;所述基于所述至少一个外观代码确定所述至少一个组件的属性名,包括:在所述外观代码包括所述外观代码本体的情况下,从所述外观代码本体中获取所述至少一个组件的属性名;在所述外观代码包括所述外观代码本体和所述外观代码注释的情况下,从所述外观代码本体或者所述外观代码注释中获取所述至少一个组件的属性名。8.如权利要求1
‑
7任意一项权利要求所述的方法,其特征在于,所述业务逻辑代码为柯里化函数形式,所述业务逻辑代码和所述至少一个外观代码为JavaScript语言。9.一种代码生成装置,其特征在于,所述装置包括:获取模块,用于获取目标应用的业务逻辑代码和所述目标应用在目...
【专利技术属性】
技术研发人员:莫春辉,
申请(专利权)人:深圳华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。