一种代码可用性量化方法及装置制造方法及图纸

技术编号:34742251 阅读:13 留言:0更新日期:2022-08-31 18:34
本申请提供了一种代码可用性量化方法及装置,在该方法中,构建资源库,所述资源库包括设计稿及与所述设计稿对应的标准代码文件;运行所述设计稿,自动生成目标代码文件;基于树结构相似度评估的方式量化所述目标代码文件与所述标准代码文件之间的差异,以确定目标差异结果,所述目标差异结果用于表示所述目标代码文件的可用性。本申请的方案中,将对代码可用性的评估转换为对两份代码的相似度计算,基于树结构相似度的方式自动评估二者的差异并量化差异结果,以差异结果作为对设计稿自动生成的目标代码的可用性的评估结果,实现代码可用性的量化。用性的量化。用性的量化。

【技术实现步骤摘要】
一种代码可用性量化方法及装置


[0001]本申请涉及数据处理领域,尤其涉及一种代码可用性量化方法及装置。

技术介绍

[0002]随着科技的高速发展,代码广泛应用于多个领域,至少跨越机器语言与人类语言两个范畴,甚至涉及到设计模式等编码方案的最优实践方案。
[0003]在现有技术中,设计稿自动生成代码行业还没有有效的代码可用性评估方案。代码可用性是一个非常抽象的概念,没有通用标准,导致设计稿自动生成代码在迭代时,缺少可靠评估指标,无法量化生成代码的好坏,算法方案与代码可用性无直接对应关系,严重限制了D2C算法研究的迭代速度。

技术实现思路

[0004]有鉴于此,本申请实施例提供了一种代码可用性量化方法及装置,用以衡量代码的可用性,实现代码可用性的量化。
[0005]第一方面,本申请实施例提供了一种代码可用性量化方法,包括:
[0006]构建资源库,所述资源库包括设计稿及与所述设计稿对应的标准代码文件;
[0007]运行所述设计稿,自动生成目标代码文件;
[0008]基于树结构相似度评估的方式量化所述目标代码文件与所述标准代码文件之间的差异,以确定目标差异结果,所述目标差异结果用于表示所述目标代码文件的可用性。
[0009]优选的,所述基于树结构相似度评估的方式量化所述目标代码文件与所述标准代码文件之间的差异,以确定目标差异结果,包括:
[0010]获取所述目标代码文件的目标布局树结构与所述标准代码文件的标准布局树结构;
[0011]基于无标签树结构相似度评估的方式量化所述目标布局树结构与所述标准布局树结构之间的差异,以得到布局树结构差异结果;
[0012]获取所述目标代码文件的目标组件标签与所述标准代码文件的标准组件标签;
[0013]基于带标签树结构相似度评估的方法量化所述目标组件标签与所述标准组件标签之间的差异,以得到组件标签差异结果;
[0014]根据所述布局树结构差异结果和所述组件标签差异结果,确定所述目标差异结果。
[0015]优选的,所述基于无标签树结构相似度评估的方式量化所述目标布局树结构与所述标准布局树结构之间的差异,以得到布局树结构差异结果,具体包括:
[0016]生成所述目标代码文件的节点总数;
[0017]基于最小编辑距离,计算所述目标布局树结构与所述标准布局树结构之间的树编辑距离;
[0018]基于所述节点总数和所述树编辑距离,确定所述布局树结构差异结果。
[0019]优选的,所述基于带标签树结构相似度评估的方法量化所述目标组件标签与所述标准组件标签之间的差异,以得到组件标签差异结果,具体包括:
[0020]对所述目标代码文件的节点和所述标准代码文件的节点进行匹配,获得第一匹配结果,所述第一匹配结果包括多出节点数量、缺失节点数量、匹配成功节点数量;
[0021]对匹配成功节点的目标组件标签和标准组件标签进行匹配,获得第二匹配结果,所述第二匹配结果包括标签匹配成功数量和标签匹配失败数量;
[0022]基于所述节点总数、所述第一匹配结果和所述第二匹配结果,确定组件标签差异结果。
[0023]优选的,所述根据所述布局树结构差异结果和所述组件标签差异结果,确定所述目标差异结果,具体包括:
[0024]利用预设的差异值计算公式计算所述目标差异结果;
[0025]所述预设的差异值计算公式为:Z=(1

(D/(4
×
T)+(N1+N2+M2)/T))
×
100;
[0026]其中,Z为所述目标代码文件与所述标准代码文件的代码差异率,用于表示所述目标差异结果,D/(4
×
T)表示所述布局树结构差异结果,(N1+N2+M2)/T表示所述组件标签差异结果,D为所述树编辑距离,T为所述节点总数,N1为所述多出节点数量,N2为所述缺失节点数量,M2为所述标签匹配失败数量。
[0027]另一方面,本申请实施例还提供了一种代码可用性量化装置,包括:
[0028]构建模块,用于构建资源库,所述资源库包括设计稿及与所述设计稿对应的标准代码文件;
[0029]运行模块,用于运行所述设计稿,自动生成目标代码文件;
[0030]量化模块,用于基于树结构相似度评估的方式量化所述目标代码文件与所述标准代码文件之间的差异,以确定目标差异结果,所述目标差异结果用于表示所述目标代码文件的可用性。
[0031]优选的,所述量化模块包括:
[0032]第一获取子模块,用于获取所述目标代码文件的目标布局树结构与所述标准代码文件的标准布局树结构;
[0033]第一量化子模块,用于基于无标签树结构相似度评估的方式量化所述目标布局树结构与所述标准布局树结构之间的差异,以得到布局树结构差异结果;
[0034]第二获取子模块,用于获取所述目标代码文件的目标组件标签与所述标准代码文件的标准组件标签;
[0035]第二量化子模块,用于基于带标签树结构相似度评估的方法量化所述目标组件标签与所述标准组件标签之间的差异,以得到组件标签差异结果;
[0036]结果确定子模块,用于根据所述布局树结构差异结果和所述组件标签差异结果,确定所述目标差异结果。
[0037]优选的,所述第一量化子模块具体包括:
[0038]生成单元,用于生成所述目标代码文件的节点总数;
[0039]第一计算单元,用于基于最小编辑距离,计算所述目标布局树结构与所述标准布局树结构之间的树编辑距离;
[0040]第一确定单元,用于基于所述节点总数和所述树编辑距离,确定所述布局树结构
差异结果。
[0041]优选的,所述第二量化子模块具体包括:
[0042]第一匹配单元,用于对所述目标代码文件的节点和所述标准代码文件的节点进行匹配,获得第一匹配结果,所述第一匹配结果包括多出节点数量、缺失节点数量、匹配成功节点数量;
[0043]第二匹配单元,用于对匹配成功节点的目标组件标签和标准组件标签进行匹配,获得第二匹配结果,所述第二匹配结果包括标签匹配成功数量和标签匹配失败数量;
[0044]第二确定单元,用于基于所述节点总数、所述第一匹配结果和所述第二匹配结果,确定组件标签差异结果。
[0045]优选的,所述结果确定子模块具体包括:
[0046]第二计算单元,用于利用预设的差异值计算公式计算所述目标差异结果;
[0047]所述预设的差异值计算公式为:Z=(1

(D/(4
×
T)+(N1+N2+M2)/T))
×
100;
[0048]其中,Z为所述目标代码文件与所述标准代码文件的代码差异率,用于表示所述目标差异结果,D/(4
×
T)表示所述布局树结构差异结果,(N1+N2+M2)/T表示所述组件标签差异结果,D为所述树编辑距离本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码可用性量化方法,其特征在于,包括:构建资源库,所述资源库包括设计稿及与所述设计稿对应的标准代码文件;运行所述设计稿,自动生成目标代码文件;基于树结构相似度评估的方式量化所述目标代码文件与所述标准代码文件之间的差异,以确定目标差异结果,所述目标差异结果用于表示所述目标代码文件的可用性。2.根据权利要求1所述的方法,其特征在于,所述基于树结构相似度评估的方式量化所述目标代码文件与所述标准代码文件之间的差异,以确定目标差异结果,包括:获取所述目标代码文件的目标布局树结构与所述标准代码文件的标准布局树结构;基于无标签树结构相似度评估的方式量化所述目标布局树结构与所述标准布局树结构之间的差异,以得到布局树结构差异结果;获取所述目标代码文件的目标组件标签与所述标准代码文件的标准组件标签;基于带标签树结构相似度评估的方法量化所述目标组件标签与所述标准组件标签之间的差异,以得到组件标签差异结果;根据所述布局树结构差异结果和所述组件标签差异结果,确定所述目标差异结果。3.根据权利要求2所述的方法,其特征在于,所述基于无标签树结构相似度评估的方式量化所述目标布局树结构与所述标准布局树结构之间的差异,以得到布局树结构差异结果,具体包括:生成所述目标代码文件的节点总数;基于最小编辑距离,计算所述目标布局树结构与所述标准布局树结构之间的树编辑距离;基于所述节点总数和所述树编辑距离,确定所述布局树结构差异结果。4.根据权利要求3所述的方法,其特征在于,所述基于带标签树结构相似度评估的方法量化所述目标组件标签与所述标准组件标签之间的差异,以得到组件标签差异结果,具体包括:对所述目标代码文件的节点和所述标准代码文件的节点进行匹配,获得第一匹配结果,所述第一匹配结果包括多出节点数量、缺失节点数量、匹配成功节点数量;对匹配成功节点的目标组件标签和标准组件标签进行匹配,获得第二匹配结果,所述第二匹配结果包括标签匹配成功数量和标签匹配失败数量;基于所述节点总数、所述第一匹配结果和所述第二匹配结果,确定组件标签差异结果。5.根据权利要求4所述的方法,其特征在于,所述根据所述布局树结构差异结果和所述组件标签差异结果,确定所述目标差异结果,具体包括:利用预设的差异值计算公式计算所述目标差异结果;所述预设的差异值计算公式为:Z=(1

(D/(4
×
T)+(N1+N2+M2)/T))
×
100;其中,Z为所述目标代码文件与所述标准代码文件的代码差异率,用于表示所述目标差异结果,D/(4
×
T)表示所述布局树结构差异结果,(N1+N2+M2)/T表示所述组件标签差异结果,D为所述树编辑距离,T为所述节点总数,N1为所述多出节点数量,N2为所述缺失节点数量,M2为...

【专利技术属性】
技术研发人员:徐洋王磊康骏翔
申请(专利权)人:北京尽微致广信息技术有限公司
类型:发明
国别省市:

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

1