一种代码生成方法、系统、计算机设备及存储介质技术方案

技术编号:27570514 阅读:25 留言:0更新日期:2021-03-09 22:17
本申请公开了一种代码生成方法、装置、计算机设备及存储介质,在该方案中,在将新设计图转换成设计代码之前,先确定新设计图的基准设计图以及基准设计图的基准代码,利用基准设计图与基准代码确定基准设计图翻译成基准代码的翻译规则,并利用该规则对新设计图进行翻译,得到设计代码,由于翻译规则是基准设计图与基准代码之间的翻译规则,利用该翻译规则对新设计图中的页面元素进行翻译,得到的设计代码即与基准代码相统一。从而可以避免新的设计代码与已有代码不兼容、不匹配的现象,有效减少了人工开发量。少了人工开发量。少了人工开发量。

【技术实现步骤摘要】
一种代码生成方法、系统、计算机设备及存储介质


[0001]本申请涉及人工智能领域,尤其涉及一种代码生成方法、系统、计算机设备及存储介质。

技术介绍

[0002]随着科技的发展,智能化应用不断出现。目前,在代码开发领域,为了减少人工开发量,已有智能化的工具可以实现将设计图直接转换成代码布局,以减少人工手动编写代码布局,但是此类工具生成的代码布局性能通常不高,得到的代码会出现和已有代码不兼容、不匹配的现象,导致还需要人工手动调整,甚至还需要人工重新编写完整代码,使人工开发量并没有得到有效的减少。

技术实现思路

[0003]有鉴于此,本申请提供了一种代码生成方法、系统、计算机设备及存储介质,以有效减少人工代码开发量。
[0004]为实现上述目的,一方面,本申请提供了一种代码生成方法,包括:
[0005]识别新设计图中的所有页面元素;
[0006]确定与所述新设计图对应的基准设计图;
[0007]确定所述基准设计图与基准代码之间的翻译规则,所述基准代码为所述基准设计图对应的代码;
[0008]利用所述翻译规则翻译所述新设计图中的页面元素,得到与所述新设计图对应的设计代码。
[0009]又一方面,本申请提供了一种代码生成系统,包括:
[0010]页面元素识别模块,用于识别新设计图中的所有页面元素;
[0011]基准设计图确定模块,用于确定与所述新设计图对应的基准设计图;
[0012]翻译规则确定模块,用于确定所述基准设计图与基准代码之间的翻译规则,所述基准代码为所述基准设计图对应的代码;
[0013]代码生成模块,用于利用所述翻译规则翻译所述新设计图中的页面元素,得到与所述新设计图对应的设计代码。
[0014]又一方面,本申请还提供了一种计算机设备,包括:
[0015]处理器和存储器;
[0016]其中,所述处理器用于执行所述存储器中存储的程序;
[0017]所述存储器用于存储程序,所述程序至少用于:
[0018]识别新设计图中的所有页面元素;
[0019]确定与所述新设计图对应的基准设计图;
[0020]确定所述基准设计图与基准代码之间的翻译规则,所述基准代码为所述基准设计图对应的代码;
[0021]利用所述翻译规则翻译所述新设计图中的页面元素,得到与所述新设计图对应的设计代码。
[0022]又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现本申请任一实施例的内存分配代码检测方法。
[0023]由此可见,本申请在将新设计图转换成设计代码之前,先确定新设计图的基准设计图以及基准设计图的基准代码,利用基准设计图与基准代码确定基准设计图翻译成基准代码的翻译规则,并利用该规则对新设计图进行翻译,得到设计代码,由于翻译规则是基准设计图与基准代码之间的翻译规则,利用该翻译规则对新设计图中的页面元素进行翻译,得到的设计代码即与基准代码相统一。从而可以避免新的设计代码与已有代码不兼容、不匹配的现象,有效减少了人工开发量。
附图说明
[0024]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0025]图1示出了本申请实施例的一种计算机设备的一个实施例的组成结构示意图;
[0026]图2示出了本申请实施例的一种代码生成方法的一种流程示意图;
[0027]图3示出了本申请实施例的一种代码生成方法的一种流程示意图;
[0028]图4示出了本申请实施例的一种代码生成方法的一种流程示意图;
[0029]图5示出了本申请实施例的一种代码生成方法的一种流程示意图;
[0030]图6示出了本申请实施例的一种代码生成方法的一种流程示意图;
[0031]图7示出了本申请实施例的一种应用场景实施例对应的流程示意图;
[0032]图8示出了本申请实施例的一种应用场景实施例对应的设计稿示意图;
[0033]图9示出了本申请实施例的一种代码生成系统的一个实施例的组成结构示框图。
具体实施方式
[0034]目前已有工具可以实现将设计图直接转换成代码布局,但是这种代码布局并没有兼顾同一项目的已有代码布局,代码的编写规则、布局方式均可能不同,就会出现新生成的代码和已有代码是完全不同的代码,例如,一个历史的购物车页面,它的实现代码是线性布局,同时它是动态页面,页面很多元素都有响应事件以及动画事件。这时业务需要在购物车界面上添加了一个时钟倒数计时器,在之前设计图上添加了这个时钟倒数计时器的图片。由于当前已有工具在进行转换时,并不知道之前代码里的布局逻辑和动态响应事件,会直接只按照设计图的样式生成一套实现代码,这个实现代码可能是另外一种布局,例如相对布局,同时没有各种响应事件和动画事件。这套转化后的代码并不能直接移植到到现有业务工程中,因为和之前页面的代码实现已经有很大差异了,必须手动将转化页面和之前页面进行融合适配,从而增大了工作量,不利于项目快速迭代和演进。而本方案提供一种代码生成方法、系统、计算机设备及存储介质,以有效减少人工代码开发量。
[0035]为了便于理解,先对本申请的代码生成方法对应的方案所适用的计算机设备进行介绍。可以参见图1,图1示出了本申请一种代码生成方法所适用的计算机设备示意图。
[0036]由图1可知,计算机设备10可以包括:处理器11、存储器12、通信接口13、输入单元14和显示器15和通信总线16。
[0037]处理器11、存储器12、通信接口13、输入单元14、显示器15、均通过通信总线16完成相互间的通信。
[0038]在本申请实施例中,该处理器11,可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。该处理器可以调用存储器12中存储的程序。具体的,处理器可以执行以下内存分配代码检测方法的实施例中计算机设备侧所执行的操作。
[0039]存储器12中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以上任一代码生成方法的程序。
[0040]在一种可能的实现方式中,该存储器12可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如用于识别页面元素的功能)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,基准设计图、基准代码等等。
[0041]此外,存储器12也可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。...

【技术保护点】

【技术特征摘要】
1.一种代码生成方法,其特征在于,包括:识别新设计图中的所有页面元素;确定与所述新设计图对应的基准设计图;确定所述基准设计图与基准代码之间的翻译规则,所述基准代码为所述基准设计图对应的代码;利用所述翻译规则翻译所述新设计图中的页面元素,得到与所述新设计图对应的设计代码。2.根据权利要求1所述的方法,其特征在于,所述利用所述翻译规则翻译所述新设计图中的页面元素,得到与所述新设计图对应的设计代码,包括:在所述新设计图中的所有页面元素中确定增量元素,所述增量元素为所述新设计图与所述原设计图之间的差异元素;利用所述翻译规则翻译所述增量元素,得到增量代码;将所述增量代码与所述基准代码进行融合,得到所述新设计图对应的设计代码。3.根据权利要求2所述的方法,其特征在于,所述将所述增量代码与所述基准代码进行融合,包括:利用预先训练的代码融合器将所述增量代码与所述基准代码进行融合,所述代码融合器为利用历史增量代码与基准代码之间的融合算法训练得到的融合器。4.根据权利要求1所述的方法,其特征在于,所述利用所述翻译规则翻译所述新设计图中的页面元素之前,还包括:按照预设层次划分规则划分所述新设计图中的页面元素,得到布局元素表;利用所述翻译规则按照所述布局元素表对所述新设计图中的页面元素进行翻译。5.根据权利要求1所述的方法,其特征在于,所述确定所述基准设计图与基准代码之间的翻译规则,包括:获取基准设计图与基准代码;确定所述基准设计图中的所有页面元素;将所述基准设计图中的所有页面元素以及所述基准代码输入至预设翻译规则生成器,所述预设翻译规则生成器为利用历史设计图以及历史设计代码进行训练学习得到的翻译规则生成器;获取所述预设翻译规则生成...

【专利技术属性】
技术研发人员:魏路
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1