H5工程文件的说明文档生成方法、装置和计算机设备转让专利

申请号 : CN201910218771.0

文献号 : CN110110293A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙志平

申请人 : 平安普惠企业管理有限公司

摘要 :

本申请揭示了一种H5工程文件的说明文档生成方法、装置、计算机设备和存储介质,所述方法包括:遍历第一H5工程文件和第二H5工程文件,提取第一H5工程文件和第二H5工程文件中的注释内容,并根据注释内容生成第一说明文档及第二说明文档;计算出第一说明文档的节点的文字内容与第二说明文档的节点的文字内容的相似度;若相似度大于预设阈值,则将对应的第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;以第一相似节点至第一说明文档的根节点的路径为第一枝干,及以第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。有助于代码优化、提高代码开发人员的代码水平。

权利要求 :

1.一种H5工程文件的说明文档生成方法,其特征在于,包括:

遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档;

采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度;

若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;

以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。

2.根据权利要求1所述的H5工程文件的说明文档生成方法,其特征在于,所述遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档的步骤,包括:在所述第一H5工程文件中查询多个级别的注释标识符,获取多个级别的第一注释内容;

根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档;

以及,在所述第二H5工程文件中查询多个级别的注释标识符,获取多个级别的第二注释内容;

根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档。

3.根据权利要求1所述的H5工程文件的说明文档生成方法,其特征在于,所述采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度的步骤包括:采用公式:

计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度;其中similarity为相似度,A为所述第一说明文档的节点的文字内容的词频向量,B为所述第二说明文档的节点的文字内容的词频向量,Ai为所述第一说明文档的节点的文字内容的第i个单词出现的次数,Bi为所述第二说明文档的节点的文字内容的第i个单词出现的次数。

4.根据权利要求3所述的H5工程文件的说明文档生成方法,其特征在于,所述采用公式:计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度的步骤之前,包括:对所述第一说明文档与第二说明文档的节点的文字内容进行分词,分别得到包含多个词的第一单词序列和第二单词序列;

判断所述第一单词序列是否具有与所述第二单词序列中的单词含义相同的词;

若存在,则用所述含义相同的词替换所述第二单词序列中与所述含义相同的词对应的词。

5.根据权利要求2所述的H5工程文件的说明文档生成方法,其特征在于,所述根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档的步骤之后,包括:在所述第一说明文档的级别节点上生成第一链接,所述第一链接链接至所述第一H5工程文件中与级别节点相对应的第一注释内容。

6.根据权利要求2所述的H5工程文件的说明文档生成方法,其特征在于,所述根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档的步骤之后,包括:在所述第二说明文档的级别节点上生成第二链接,所述第二链接链接至所述第二H5工程文件中与所述级别节点相对应的第二注释内容。

7.根据权利要求1所述的H5工程文件的说明文档生成方法,其特征在于,所述以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档的步骤之后,包括:在所述第一枝干的第一相似节点上生成链接至所述第一H5工程文件中与所述第一相似节点相对应注释内容的链接;

以及,在所述第二枝干的第二相似节点上生成链接至所述第二H5工程文件中与所述第二相似节点相对应注释内容的链接。

8.一种H5工程文件的说明文档生成装置,其特征在于,包括:

说明文档生成单元,用于遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档;

相似度计算单元,用于采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度;

预设阈值判断单元,用于若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;

目标说明文档生成单元,用于以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

说明书 :

H5工程文件的说明文档生成方法、装置和计算机设备

技术领域

[0001] 本申请涉及到计算机领域,特别是涉及到一种H5工程文件的说明文档生成方法、装置、计算机设备和存储介质。

背景技术

[0002] 代码工程文件中,有一些代码实现相同或相似的功能。虽然在代码工程文件中,对于部分代码可能会有注释说明,便于代码开发人员检查工程文件中的代码。但是这些注释说明仅存在于相应的代码处,难以与其他相类似的代码进行比较。尤其在不同工程文件中,实现相同或相似功能的代码可能有多种,其中有优有劣,代码开发人员若能对这些相同或相似功能的代码进行查看比较,必然能提高代码水平。即,现有技术中缺少将具有相同或相似功能的代码的注释内容统一收集起来的技术方案。

发明内容

[0003] 本申请的主要目的为提供一种H5工程文件的说明文档生成方法、装置、计算机设备和存储介质,旨在生成具有将相同或相似功能的代码的注释内容统一收集起来的说明文档。
[0004] 为了实现上述发明目的,本申请提出一种H5工程文件的说明文档生成方法,包括以下步骤:
[0005] 遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档;
[0006] 采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度;
[0007] 若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;
[0008] 以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。
[0009] 进一步地,所述遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档的步骤,包括:
[0010] 在所述第一H5工程文件中查询多个级别的注释标识符,获取多个级别的第一注释内容;
[0011] 根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档;
[0012] 以及,在所述第二H5工程文件中查询多个级别的注释标识符,获取多个级别的第二注释内容;
[0013] 根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档。
[0014] 进一步地,所述采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度的步骤包括:
[0015] 采用公式:
[0016]
[0017] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度;其中similarity为相似度,A为所述第一说明文档的节点的文字内容的词频向量,B为所述第二说明文档的节点的文字内容的词频向量,Ai为所述第一说明文档的节点的文字内容的第i个单词出现的次数,Bi为所述第二说明文档的节点的文字内容的第i个单词出现的次数。
[0018] 进一步地,所述采用公式:
[0019]
[0020] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度的步骤之前,包括:
[0021] 对所述第一说明文档与第二说明文档的节点的文字内容进行分词,分别得到包含多个词的第一单词序列和第二单词序列;
[0022] 判断所述第一单词序列是否具有与所述第二单词序列中的单词含义相同的词;
[0023] 若存在,则用所述含义相同的词替换所述第二单词序列中与所述含义相同的词对应的词。
[0024] 进一步地,所述根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档的步骤之后,包括:
[0025] 在所述第一说明文档的级别节点上生成第一链接,所述第一链接链接至所述第一H5工程文件中与级别节点相对应的第一注释内容。
[0026] 进一步地,所述根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档的步骤之后,包括:
[0027] 在所述第二说明文档的级别节点上生成第二链接,所述第二链接链接至所述第二H5工程文件中与所述级别节点相对应的第二注释内容。
[0028] 进一步地,以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档的步骤之后,包括:
[0029] 在所述第一枝干的第一相似节点上生成链接至所述第一H5工程文件中与所述第一相似节点相对应注释内容的链接;
[0030] 以及,在所述第二枝干的第二相似节点上生成链接至所述第二H5工程文件中与所述第二相似节点相对应注释内容的链接。
[0031] 本申请提供一种H5工程文件的说明文档生成装置,包括:
[0032] 说明文档生成单元,用于遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档;
[0033] 相似度计算单元,用于采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度;
[0034] 预设阈值判断单元,用于若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;
[0035] 目标说明文档生成单元,用于以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。
[0036] 本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
[0037] 本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
[0038] 本申请的H5工程文件的说明文档生成方法、装置、计算机设备和存储介质,通过遍历H5工程文件,生成两个说明文档,采用相似度算法计算出两个说明文档的节点文字的相似度,将相似度高的节点至根节点的路径作为目标说明文档的枝干,从成生成目标说明文档,有助于代码优化、提高代码开发人员的代码水平。

附图说明

[0039] 图1为本申请一实施例的H5工程文件的说明文档生成方法的流程示意图;
[0040] 图2为本申请一实施例的H5工程文件的说明文档生成装置的结构示意框图;
[0041] 图3为本申请一实施例的计算机设备的结构示意框图。
[0042] 本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0043] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0044] 参照图1,本申请实施例提供一种H5工程文件的说明文档生成方法,包括以下步骤:
[0045] S1、遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档;
[0046] S2、采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度;
[0047] S3、若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;
[0048] S4、以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。
[0049] 如上述步骤S1所述,遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档。其中H5工程文件是指html5工程代码文件,用于生成前端可视化html5页面以及前端逻辑处理的工程文件。说明文档是指对H5工程文件的代码进行注释说明的文档。H5工程文件中包括有对代码进行注释说明的文字内容,通过遍历H5工程文件将所述文字内容提取出来以树形结构展示,即形成了说明文档。从而获取第一说明文档及第二说明文档。其中注释内容包括:对代码的功能进行注释的内容。
[0050] 如上述步骤S2所述,采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度。若第一说明文档的节点的文字内容(即对代码的注释内容)与第二说明文档的节点的文字内容相同或相似,表明这两个节点对应的代码的功能相同。其中相似度算法包括:重叠词相似度算法;基于词向量的向量距离算法。
[0051] 如上述步骤S3所述,若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点。若相似度大于预设阈值,表明所述第一说明文档的节点与第二说明文档的节点的注释内容相同或相似,从而判断相应的代码功能相同或相似。其中所述预设阈值例如为[80%-98%]中的任一数值。
[0052] 如上述步骤S4所述,以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。据此,新生成的目标说明文档包括了以相似节点为终点的两条路径,通过查阅这两条路径的内容及相应的代码,再进行比较,即可得知谁优谁劣,有助于代码水平提高。其中当第一相似节点有多个时,第一枝干相应的也有多个;同理,当第二相似节点有多个时,第二枝干相应的也有多个。
[0053] 在一个实施方式中,所述遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档的步骤S1,包括:
[0054] S101、在所述第一H5工程文件中查询多个级别的注释标识符,获取多个级别的第一注释内容;
[0055] S102、根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档;
[0056] S103、以及,在所述第二H5工程文件中查询多个级别的注释标识符,获取多个级别的第二注释内容;
[0057] S104、根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档。
[0058] 如上所述,实现了获取第一说明文档及第二说明文档。其中注释标识符包括:“///”、“@@@”、“###”等。其中注释内容之前与之后,均有相同的注释标识,从而将注释内容与代码内容分隔开来,据此也可将注释内容提取出来。从而提取出不同级别的注释内容,再将注释内容以层级结构的形式在说明文档中展现出来,最终获得了具有层级结构的第一说明文档和第二说明文档。其中,根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档,表明:级别节点在所述第一说明文档中的级别和第一注释内容在第一H5工程文件中的级别相同。同理,级别节点在所述第二说明文档中的级别和第二注释内容在第二H5工程文件中的级别相同。
[0059] 在一个实施方式中,所述采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度的步骤S2,包括:
[0060] S201、采用公式:
[0061]
[0062] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度;其中similarity为相似度,A为所述第一说明文档的节点的文字内容的词频向量,B为所述第二说明文档的节点的文字内容的词频向量,Ai为所述第一说明文档的节点的文字内容的第i个单词出现的次数,Bi为所述第二说明文档的节点的文字内容的第i个单词出现的次数。
[0063] 如上所述,实现了计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度。所述词频向量是以文字内容中的各词出现的次数(频率)作为向量的维度数值,所构成的多维向量。即A=(A1,A2,…,An),其中An为最后一个词(共有n个词)的词频。所述相似度算法是根据两个节点的文字内容的余弦相似度进行计算得到,以反应两个节点的文字内容间的相似程度。当similarity的值越接近于1,表明越相似;越接近于0,表明越不相似。
[0064] 在一个实施方式中,所述采用公式:
[0065]
[0066] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度的步骤S201之前,包括:
[0067] S2001、对所述第一说明文档与第二说明文档的节点的文字内容进行分词,分别得到包含多个词的第一单词序列和第二单词序列;
[0068] S2002、判断所述第一单词序列是否具有与所述第二单词序列中的单词含义相同的词;
[0069] S2003、若存在,则用所述含义相同的词替换所述第二单词序列中与所述含义相同的词对应的词。
[0070] 如上所述,实现了对文字内容进行预处理。其中分词可使用开源的分词工具,例如jieba、SnowNLP、THULAC、NLPIR。分词方法包括:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。从而将单个单句分为多个词。为了增加相似度判断的准确性,判断所述第一单词序列是否具有与所述第二单词序列中的单词含义相同的词,若存在,若存在,则将所述同义词替换所述第二单词序列中与所述同义词对应的词。一般而言,同义词的替换并不会导致单句的原义发生改变,而且能够避免将同义的词由于撰写的小区别而造成相似度的错判。
[0071] 在一个实施方式中,所述根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档的步骤S102之后,包括:
[0072] S1021、在所述第一说明文档的级别节点上生成第一链接,所述第一链接链接至所述第一H5工程文件中与级别节点相对应的第一注释内容。
[0073] 如上所述,实现了在所述级别节点上生成第一链接。据此,当需要查阅相应的注释内容与代码时,可以通过第一链接直接转到第一H5工程文件中与所述级别节点相对应的第一注释内容处(因为第一注释内容与其相应代码位于第一H5工程文件中的相同位置)。对应的,第一H5工程文件中与所述级别节点相对应的第一注释内容也可以设置有对应链接至第一说明文档中级别节点位置的链接。
[0074] 在一个实施方式中,所述根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档的步骤S104之后,包括:
[0075] S1041、在所述第二说明文档的级别节点上生成第二链接,所述第二链接链接至所述第二H5工程文件中与所述级别节点相对应的第二注释内容。
[0076] 如上所述,实现了在所述级别节点上生成第二链接。据此,当需要查阅相应的注释内容与代码时,可以通过第二链接直接转到第二H5工程文件中与所述级别节点相对应的第二注释内容处(因为第二注释内容与其相应代码位于第二H5工程文件中的相同位置)。对应的,第二H5工程文件中与所述级别节点相对应的第二注释内容也可以设置有对应链接至第二说明文档中级别节点位置的链接。
[0077] 在一个实施方式中,以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档的步骤S4之后,包括:
[0078] S5、在所述第一枝干的第一相似节点上生成链接至所述第一H5工程文件中与所述第一相似节点相对应注释内容的链接;
[0079] S6、以及,在所述第二枝干的第二相似节点上生成链接至所述第二H5工程文件中与所述第二相似节点相对应注释内容的链接。
[0080] 如上所述,实现了在第一枝干的第一相似节点上生成链接,以及在所述第二枝干的第二相似节点上生成链接。从而,当需要查阅相应注释内容与代码时,可以通过相应链接转至第一H5工程文件中或者第二H5工程文件中的相应位置。从而可以比较实现相同功能的代码之间的差别,进而优化代码结构,提高水平。
[0081] 本申请的H5工程文件的说明文档生成方法,通过遍历H5工程文件,生成两个说明文档,采用相似度算法计算出两个说明文档的节点文字的相似度,将相似度高的节点至根节点的路径作为目标说明文档的枝干,从成生成目标说明文档,有助于代码优化、提高代码开发人员的代码水平。
[0082] 参照图2,本申请实施例提供一种H5工程文件的说明文档生成装置,包括:
[0083] 说明文档生成单元10,用于遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档;
[0084] 相似度计算单元20,用于采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度;
[0085] 预设阈值判断单元30,用于若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;
[0086] 目标说明文档生成单元40,用于以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。
[0087] 如上述单元10所述,遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档。其中H5工程文件是指html5工程代码文件,用于生成前端可视化html5页面以及前端逻辑处理的工程文件。说明文档是指对H5工程文件的代码进行注释说明的文档。H5工程文件中包括有对代码进行注释说明的文字内容,通过遍历H5工程文件将所述文字内容提取出来以树形结构展示,即形成了说明文档。从而获取第一说明文档及第二说明文档。其中注释内容包括:对代码的功能进行注释的内容。
[0088] 如上述单元20所述,采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度。若第一说明文档的节点的文字内容(即对代码的注释内容)与第二说明文档的节点的文字内容相同或相似,表明这两个节点对应的代码的功能相同。其中相似度算法包括:重叠词相似度算法;基于词向量的向量距离算法。
[0089] 如上述单元30所述,若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点。若相似度大于预设阈值,表明所述第一说明文档的节点与第二说明文档的节点的注释内容相同或相似,从而判断相应的代码功能相同或相似。其中所述预设阈值例如为[80%-98%]中的任一数值。
[0090] 如上述单元40所述,以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。据此,新生成的目标说明文档包括了以相似节点为终点的两条路径,通过查阅这两条路径的内容及相应的代码,再进行比较,即可得知谁优谁劣,有助于代码水平提高。其中当第一相似节点有多个时,第一枝干相应的也有多个;同理,当第二相似节点有多个时,第二枝干相应的也有多个。
[0091] 在一个实施方式中,所述说明文档生成单元10,包括:
[0092] 第一注释内容获取子单元,用于在所述第一H5工程文件中查询多个级别的注释标识符,获取多个级别的第一注释内容;
[0093] 第一说明文档获取子单元,用于根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档;
[0094] 第二注释内容获取子单元,用于以及,在所述第二H5工程文件中查询多个级别的注释标识符,获取多个级别的第二注释内容;
[0095] 第二说明文档获取子单元,用于根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档。
[0096] 如上所述,实现了获取第一说明文档及第二说明文档。其中注释标识符包括:“///”、“@@@”、“###”等。其中注释内容之前与之后,均有相同的注释标识,从而将注释内容与代码内容分隔开来,据此也可将注释内容提取出来。从而提取出不同级别的注释内容,再将注释内容以层级结构的形式在说明文档中展现出来,最终获得了具有层级结构的第一说明文档和第二说明文档。其中,根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档,表明:级别节点在所述第一说明文档中的级别和第一注释内容在第一H5工程文件中的级别相同。同理,级别节点在所述第二说明文档中的级别和第二注释内容在第二H5工程文件中的级别相同。
[0097] 在一个实施方式中,所述相似度计算单元20,包括:
[0098] 相似度计算子单元,用于采用公式:
[0099]
[0100] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度;其中similarity为相似度,A为所述第一说明文档的节点的文字内容的词频向量,B为所述第二说明文档的节点的文字内容的词频向量,Ai为所述第一说明文档的节点的文字内容的第i个单词出现的次数,Bi为所述第二说明文档的节点的文字内容的第i个单词出现的次数。
[0101] 如上所述,实现了计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度。所述词频向量是以文字内容中的各词出现的次数(频率)作为向量的维度数值,所构成的多维向量。即A=(A1,A2,…,An),其中An为最后一个词(共有n个词)的词频。所述相似度算法是根据两个节点的文字内容的余弦相似度进行计算得到,以反应两个节点的文字内容间的相似程度。当similarity的值越接近于1,表明越相似;越接近于0,表明越不相似。
[0102] 在一个实施方式中,所述相似度计算单元20,包括:
[0103] 单词序列获取子单元,用于对所述第一说明文档与第二说明文档的节点的文字内容进行分词,分别得到包含多个词的第一单词序列和第二单词序列;
[0104] 含义相同的词判断子单元,用于判断所述第一单词序列是否具有与所述第二单词序列中的单词含义相同的词;
[0105] 替换子单元,用于若存在,则用所述含义相同的词替换所述第二单词序列中与所述含义相同的词对应的词。
[0106] 如上所述,实现了对文字内容进行预处理。其中分词可使用开源的分词工具,例如jieba、SnowNLP、THULAC、NLPIR。分词方法包括:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。从而将单个单句分为多个词。为了增加相似度判断的准确性,判断所述第一单词序列是否具有与所述第二单词序列中的单词含义相同的词,若存在,若存在,则将所述同义词替换所述第二单词序列中与所述同义词对应的词。一般而言,同义词的替换并不会导致单句的原义发生改变,而且能够避免将同义的词由于撰写的小区别而造成相似度的错判。
[0107] 在一个实施方式中,所述装置,包括:
[0108] 第一链接生成单元,用于在所述第一说明文档的级别节点上生成第一链接,所述第一链接链接至所述第一H5工程文件中与级别节点相对应的第一注释内容。
[0109] 如上所述,实现了在所述级别节点上生成第一链接。据此,当需要查阅相应的注释内容与代码时,可以通过第一链接直接转到第一H5工程文件中与所述级别节点相对应的第一注释内容处(因为第一注释内容与其相应代码位于第一H5工程文件中的相同位置)。对应的,第一H5工程文件中与所述级别节点相对应的第一注释内容也可以设置有对应链接至第一说明文档中级别节点位置的链接。
[0110] 在一个实施方式中,所述装置,包括:
[0111] 第二链接生成单元,用于在所述第二说明文档的级别节点上生成第二链接,所述第二链接链接至所述第二H5工程文件中与所述级别节点相对应的第二注释内容。
[0112] 如上所述,实现了在所述级别节点上生成第二链接。据此,当需要查阅相应的注释内容与代码时,可以通过第二链接直接转到第二H5工程文件中与所述级别节点相对应的第二注释内容处(因为第二注释内容与其相应代码位于第二H5工程文件中的相同位置)。对应的,第二H5工程文件中与所述级别节点相对应的第二注释内容也可以设置有对应链接至第二说明文档中级别节点位置的链接。
[0113] 在一个实施方式中,所述装置,包括:
[0114] 第一枝干链接生成单元,用于在所述第一枝干的第一相似节点上生成链接至所述第一H5工程文件中与所述第一相似节点相对应注释内容的链接;
[0115] 第二枝干链接生成单元,用于以及,在所述第二枝干的第二相似节点上生成链接至所述第二H5工程文件中与所述第二相似节点相对应注释内容的链接。
[0116] 如上所述,实现了在第一枝干的第一相似节点上生成链接,以及在所述第二枝干的第二相似节点上生成链接。从而,当需要查阅相应注释内容与代码时,可以通过相应链接转至第一H5工程文件中或者第二H5工程文件中的相应位置。从而可以比较实现相同功能的代码之间的差别,进而优化代码结构,提高水平。
[0117] 本申请的H5工程文件的说明文档生成装置,通过遍历H5工程文件,生成两个说明文档,采用相似度算法计算出两个说明文档的节点文字的相似度,将相似度高的节点至根节点的路径作为目标说明文档的枝干,从成生成目标说明文档,有助于代码优化、提高代码开发人员的代码水平。
[0118] 参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储H5工程文件的说明文档生成方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种H5工程文件的说明文档生成方法。
[0119] 上述处理器执行上述H5工程文件的说明文档生成方法,包括以下步骤:遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档;采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度;若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。
[0120] 在一个实施方式中,所述遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档的步骤,包括:在所述第一H5工程文件中查询多个级别的注释标识符,获取多个级别的第一注释内容;根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档;以及,在所述第二H5工程文件中查询多个级别的注释标识符,获取多个级别的第二注释内容;根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档。
[0121] 在一个实施方式中,所述采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度的步骤包括:采用公式:
[0122]
[0123] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度;其中similarity为相似度,A为所述第一说明文档的节点的文字内容的词频向量,B为所述第二说明文档的节点的文字内容的词频向量,Ai为所述第一说明文档的节点的文字内容的第i个单词出现的次数,Bi为所述第二说明文档的节点的文字内容的第i个单词出现的次数。
[0124] 在一个实施方式中,所述采用公式:
[0125]
[0126] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度的步骤之前,包括:对所述第一说明文档与第二说明文档的节点的文字内容进行分词,分别得到包含多个词的第一单词序列和第二单词序列;判断所述第一单词序列是否具有与所述第二单词序列中的单词含义相同的词;若存在,则用所述含义相同的词替换所述第二单词序列中与所述含义相同的词对应的词。
[0127] 在一个实施方式中,所述根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档的步骤之后,包括:在所述第一说明文档的级别节点上生成第一链接,所述第一链接链接至所述第一H5工程文件中与级别节点相对应的第一注释内容。
[0128] 在一个实施方式中,所述根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档的步骤之后,包括:在所述第二说明文档的级别节点上生成第二链接,所述第二链接链接至所述第二H5工程文件中与所述级别节点相对应的第二注释内容。
[0129] 在一个实施方式中,以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档的步骤之后,包括:在所述第一枝干的第一相似节点上生成链接至所述第一H5工程文件中与所述第一相似节点相对应注释内容的链接;以及,在所述第二枝干的第二相似节点上生成链接至所述第二H5工程文件中与所述第二相似节点相对应注释内容的链接。
[0130] 本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
[0131] 本申请的计算机设备,通过遍历H5工程文件,生成两个说明文档,采用相似度算法计算出两个说明文档的节点文字的相似度,将相似度高的节点至根节点的路径作为目标说明文档的枝干,从成生成目标说明文档,有助于代码优化、提高代码开发人员的代码水平。
[0132] 本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现H5工程文件的说明文档生成方法,包括以下步骤:遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档;采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度;若所述相似度大于预设阈值,则将对应的所述第一说明文档的节点及所述第二说明文档的节点分别标记为第一相似节点及第二相似节点;以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档。
[0133] 在一个实施方式中,所述遍历第一H5工程文件和第二H5工程文件,提取所述第一H5工程文件和第二H5工程文件中的注释内容,并根据所述注释内容生成第一说明文档及第二说明文档,其中第一说明文档指第一H5工程文件的树形结构说明文档,第二说明文档指第二H5工程文件的树形结构说明文档的步骤,包括:在所述第一H5工程文件中查询多个级别的注释标识符,获取多个级别的第一注释内容;根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档;以及,在所述第二H5工程文件中查询多个级别的注释标识符,获取多个级别的第二注释内容;根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档。
[0134] 在一个实施方式中,所述采用相似度算法,计算出所述第一说明文档的节点的文字内容与所述第二说明文档的节点的文字内容的相似度的步骤包括:采用公式:
[0135]
[0136] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度;其中similarity为相似度,A为所述第一说明文档的节点的文字内容的词频向量,B为所述第二说明文档的节点的文字内容的词频向量,Ai为所述第一说明文档的节点的文字内容的第i个单词出现的次数,Bi为所述第二说明文档的节点的文字内容的第i个单词出现的次数。
[0137] 在一个实施方式中,所述采用公式:
[0138]
[0139] 计算出所述第一说明文档与第二说明文档的节点的文字内容的相似度的步骤之前,包括:对所述第一说明文档与第二说明文档的节点的文字内容进行分词,分别得到包含多个词的第一单词序列和第二单词序列;判断所述第一单词序列是否具有与所述第二单词序列中的单词含义相同的词;若存在,则用所述含义相同的词替换所述第二单词序列中与所述含义相同的词对应的词。
[0140] 在一个实施方式中,所述根据所述第一注释内容对应的级别,以所述第一注释内容作为多个级别节点,生成具有层级结构的第一说明文档的步骤之后,包括:在所述第一说明文档的级别节点上生成第一链接,所述第一链接链接至所述第一H5工程文件中与级别节点相对应的第一注释内容。
[0141] 在一个实施方式中,所述根据所述第二注释内容对应的级别,以所述第二注释内容作为多个级别节点,生成具有层级结构的第二说明文档的步骤之后,包括:在所述第二说明文档的级别节点上生成第二链接,所述第二链接链接至所述第二H5工程文件中与所述级别节点相对应的第二注释内容。
[0142] 在一个实施方式中,以所述第一相似节点至第一说明文档的根节点的路径为第一枝干,及以所述第二相似节点至第二说明文档的根节点的路径为第二枝干,生成具有树形结构的目标说明文档的步骤之后,包括:在所述第一枝干的第一相似节点上生成链接至所述第一H5工程文件中与所述第一相似节点相对应注释内容的链接;以及,在所述第二枝干的第二相似节点上生成链接至所述第二H5工程文件中与所述第二相似节点相对应注释内容的链接。
[0143] 本申请的计算机可读存储介质,通过遍历H5工程文件,生成两个说明文档,采用相似度算法计算出两个说明文档的节点文字的相似度,将相似度高的节点至根节点的路径作为目标说明文档的枝干,从成生成目标说明文档,有助于代码优化、提高代码开发人员的代码水平。
[0144] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0145] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0146] 以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。