System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 代码生成方法、电子设备、存储介质及程序产品技术_技高网

代码生成方法、电子设备、存储介质及程序产品技术

技术编号:40070862 阅读:6 留言:0更新日期:2024-01-17 00:09
本公开提供了一种代码生成方法、装置、电子设备、存储介质及程序产品。本公开的代码生成方法包括:获取页面设计图的所有节点,页面设计图包括列表和/或瀑布流布局;获取至少一个相似节点数组,每个相似节点数组中包括相似度大于预设阈值的至少两个二级节点;根据每个相似节点数组中包含子节点个数最多的节点确定对应的一级节点的节点类型,节点类型包括列表和瀑布流布局;根据页面设计图和节点类型生成页面代码。

【技术实现步骤摘要】

本公开涉及计算机,尤其涉及一种代码生成方法、电子设备、存储介质及程序产品


技术介绍

1、随着计算机和互联网技术的快速发展,页面开发已经成为计算机行业的热门领域。在生成页面时,通常需要设计师提供页面设计稿,然后由代码自动生成器编写页面代码。

2、然而,当页面中存在大量的列表和/或瀑布流布局时,代码自动生成器会将每个列表/瀑布流布局分别生成一个对象,而一般情况下同一种列表/瀑布流布局只需要一个对象即可,因此代码自动生成器生成的代码存在大量冗余,需要人工修改,代码生成的效率较低。


技术实现思路

1、为了解决上述技术问题中的至少一个,本公开提供了一种代码生成方法、电子设备、存储介质及程序产品。

2、为此,本公开的一个目的在于提出一种代码生成方法,在识别页面设计图包含的列表和/或瀑布流布局后生成页面代码,能够减少代码冗余,提高代码生成的效率。

3、根据本公开的一个方面,提供一种代码生成方法,包括:

4、获取页面设计图的所有节点,所述页面设计图包括列表和/或瀑布流布局;

5、获取至少一个相似节点数组,每个相似节点数组中包括相似度大于预设阈值的至少两个二级节点;

6、根据每个相似节点数组中包含子节点个数最多的节点确定对应的一级节点的节点类型,所述节点类型包括列表和瀑布流布局;

7、根据所述页面设计图和节点类型生成页面代码。

8、根据本公开的至少一个实施方式的代码生成方法,在所述根据所述页面设计图和节点类型生成页面代码之前,还包括:

9、获取所有二级节点中除所述至少一个相似节点数组包括的节点之外的其他节点;

10、对于每个其他节点,判断所述至少一个相似节点数组中是否包括与该其他节点平级且宽度相等的目标节点;

11、如果包括,根据该目标节点对应的节点类型确定该其他节点的节点类型。

12、根据本公开的至少一个实施方式的代码生成方法,所述获取至少一个相似节点数组包括:

13、从所有二级节点中获取任一第一节点;

14、判断除该第一节点之外的所有二级节点中是否存在与第一节点之间相似度大于预设阈值的节点;

15、如果不存在,再次执行上述第一节点获取过程直至遍历所有二级节点;

16、如果存在,从除该第一节点之外的所有二级节点中获取与当前第一节点之间相似度大于预设阈值的至少一个第二节点;

17、判断除该当前第一节点和至少一个第二节点之外的所有二级节点中是否存在与至少一个第二节点中任意节点之间相似度大于预设阈值的节点;

18、如果不存在,获取由当前第一节点和至少一个第二节点组成的相似节点数组,并将所有二级节点更新为除当前相似节点数组之外的所有二级节点后执行第一节点获取过程;

19、如果存在,从除该当前第一节点和至少一个第二节点之外的所有二级节点中获取与至少一个第二节点中任意节点之间相似度大于预设阈值的至少一个第三节点;

20、将当前至少一个第二节点更新为至少一个第二节点和至少一个第三节点之和后再次执行上述至少一个第二节点的相似度判断过程。

21、根据本公开的至少一个实施方式的代码生成方法,所述获取至少一个相似节点数组包括:

22、获取所有二级节点中每两个节点之间的相似度;

23、根据相似度大于预设阈值的相似节点获取至少一个相似节点数组。

24、根据本公开的至少一个实施方式的代码生成方法,所述根据相似度大于预设阈值的相似节点组成至少一个相似节点数组包括:

25、从所有二级节点中任意获取相似度大于预设阈值的一对节点;

26、从除该对节点之外的当前所有二级节点中,判断是否存在与该对节点中任意节点之间相似度大于预设阈值的节点;

27、如果不存在,获取由该对节点组成的相似节点数组;再次执行上述一对节点获取过程直至遍历所有相似度大于阈值的成对节点;

28、如果存在,从除该对节点之外的当前所有二级节点中获取与该对节点中任意节点之间相似度大于预设阈值的至少一个第四节点;

29、判断除该对节点和当前至少一个第四节点之外的所有二级节点中是否存在与所述至少一个第四节点中任意节点之间相似度大于预设阈值的节点;

30、如果不存在,获取由该对节点和当前至少一个第四节点组成的相似节点数组;并将所有二级节点更新为除当前相似节点数组之外的所有二级节点后执行一对节点获取过程;

31、如果存在,从除该对节点和当前至少一个第四节点之外的所有二级节点中获取与所述至少一个第四节点中任意节点之间相似度大于预设阈值的至少一个第五节点;

32、将当前至少一个第四节点更新为至少一个第四节点和至少一个第五节点之和后再次执行上述至少一个第四节点的相似度判断过程。

33、根据本公开的至少一个实施方式的代码生成方法,对于任意两个节点,所述获取所有二级节点中每两个节点之间的相似度,包括:

34、根据该两个节点中所有面积相等的子节点个数获取相似度。

35、根据本公开的至少一个实施方式的代码生成方法,对于任一相似节点数组,所述根据每个相似节点数组中包含子节点个数最多的节点确定对应的一级节点的节点类型,包括:

36、判断该相似节点数组中包含子节点个数最多的节点的宽度与显示界面宽度之比是否大于0.5;

37、如果大于,该相似节点数组对应的一级节点的节点类型为列表;

38、否则,该相似节点数组对应的一级节点的节点类型为瀑布流布局。

39、根据本公开的另一个方面,提供一种电子设备,包括:

40、存储器,所述存储器存储执行指令;

41、处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行本公开任一个实施方式的代码生成方法。

42、根据本公开的又一个方面,提供一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现本公开任一个实施方式的代码生成方法。

43、根据本公开的再一个方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开任一个实施方式的代码生成方法。

44、综上所述,本公开的代码生成方法,通过识别页面设计图中的列表和/或瀑布流布局后生成页面代码,使同一种列表/瀑布流布局只生成一个对象,减少了页面代码的冗余,进而提高页面代码的生成效率,解决了现有技术中代码自动生成器生成的代码存在大量冗余,需要人工修改,代码生成的效率较低的问题。

本文档来自技高网...

【技术保护点】

1.一种代码生成方法,其特征在于,包括:

2.根据权利要求1所述的代码生成方法,其特征在于,在所述根据所述页面设计图和节点类型生成页面代码之前,还包括:

3.根据权利要求1或2所述的代码生成方法,其特征在于,所述获取至少一个相似节点数组包括:

4.根据权利要求1或2所述的代码生成方法,其特征在于,所述获取至少一个相似节点数组包括:

5.根据权利要求4所述的代码生成方法,其特征在于,所述根据相似度大于预设阈值的相似节点组成至少一个相似节点数组包括:

6.根据权利要求4所述的代码生成方法,其特征在于,对于任意两个节点,所述获取所有二级节点中每两个节点之间的相似度,包括:

7.根据权利要求1所述的代码生成方法,其特征在于,对于任一相似节点数组,所述根据每个相似节点数组中包含子节点个数最多的节点确定对应的一级节点的节点类型,包括:

8.一种电子设备,其特征在于,包括:

9.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现权利要求1至7中任一项所述的代码生成方法。

10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1-7中任一项所述的代码生成方法。

...

【技术特征摘要】

1.一种代码生成方法,其特征在于,包括:

2.根据权利要求1所述的代码生成方法,其特征在于,在所述根据所述页面设计图和节点类型生成页面代码之前,还包括:

3.根据权利要求1或2所述的代码生成方法,其特征在于,所述获取至少一个相似节点数组包括:

4.根据权利要求1或2所述的代码生成方法,其特征在于,所述获取至少一个相似节点数组包括:

5.根据权利要求4所述的代码生成方法,其特征在于,所述根据相似度大于预设阈值的相似节点组成至少一个相似节点数组包括:

6.根据权利要求4所述的代码生成方法,其特征在于,对于任意两个节点,所述...

【专利技术属性】
技术研发人员:钱长存
申请(专利权)人:贝壳找房北京科技有限公司
类型:发明
国别省市:

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

1