一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种注释预测方法、装置、设备及可读存储介质与流程

2022-03-19 22:57:27 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,更具体地说,涉及一种注释预测方法、装置、设备及可读存储介质。


背景技术:

2.随着移动互联网的快速发展,很多技术更新迭代的速度加快,因此,很多技术的程序更新的频率也逐渐加快。为了更好地管理技术的程序更新工作,逐渐催生了一种专门用于代码版本控制的系统。
3.代码版本控制系统是开发团队进行代码提交、管理与同步,保证代码的同步与操作互不干扰的工具。提交注释信息是指开发人员在向代码版本控制系统提交代码时,对每次代码修改添加的说明性文字。其他的开发人员通过阅读开发人员每次提交的注释信息,可以快速了解每次提交的修改内容与目的。但由于开发人员的开发压力较大或者一些开发人员没有养成良好的提交注释信息书写习惯,有些开发人员在提交代码时,所撰写的提交注释信息质量偏低,从而导致其他开发人员如果想要了解每次提交代码的具体信息时,在阅读代码修改的注释信息时花费时间和精力巨大且收效不高。导致其他开发人员无法准确获知每次提交的代码修改的语法及结构信息。
4.为了改进这一问题,亟需一套能够准确获知开发人员提交的修改代码的具体信息的方案;用于解决无法准确获知项目提交数据中研发人员提交的修改代码的具体信息的问题。


技术实现要素:

5.有鉴于此,本技术提供了一种注释预测方法、装置、设备及可读存储介质,用于解决无法准确获知项目提交数据中研发人员提交的修改代码的具体信息的问题。
6.一种注释预测的方法,包括:
7.获取项目提交数据;
8.提取所述项目提交数据中的代码修改文件;
9.从所述代码修改文件中,提取所述代码修改文件的抽象语法树ast信息,并将所述ast信息序列化,得到所述ast信息的序列化信息;
10.将所述代码修改文件及所述ast信息的序列化信息输入预设的注释预测模型,得到代码修改的提交注释,其中,所述注释预测模型以训练代码修改文件及所述训练代码修改文件抽取的ast的序列化信息为训练样本,以所述训练代码修改文件中的代码修改的注释为样本标签训练得到。
11.优选地,在所述提取所述项目提交数据中的代码修改文件之前,还包括:
12.剔除所述项目提交数据中符合以下条件的数据:
13.merge、rollback版本的项目提交数据;
14.修改代码的提交注释不是以动宾结构开头的项目提交数据;
15.修改代码的提交注释的词超过预设的阈值的项目提交数据。
16.优选地,所述提取所述项目提交数据中的代码修改文件,包括:
17.从所述项目提交数据中,提取每次提交的项目提交数据修改前后的代码之间的差异信息,形成代码修改文件。
18.优选地,所述从所述代码修改文件中,提取所述代码修改文件的ast信息,并将所述ast信息序列化,得到所述ast信息的序列化信息,包括:
19.剔除所述代码修改文件中不存在修改的函数,得到过滤后的代码修改文件;
20.提取所述过滤后的代码修改文件的ast信息;
21.基于所述ast信息,确定所述过滤后的代码修改文件中每行代码的语法节点;
22.对所述过滤后的代码修改文件中每行代码的语法节点进行哈希计算,得到各行代码的各个语法节点的哈希值;
23.将所述各行代码的各个语法节点的哈希值相加得到所述过滤后的代码修改文件中每行代码的哈希值;
24.将所述过滤后代码修改文件中每行代码的哈希值依次排列,得到所述ast信息的序列化信息。
25.一种注释预测装置,包括:
26.项目提交数据获取单元,用于获取项目提交数据;
27.代码修改文件提取单元,用于提取所述项目提交数据中的代码修改文件;
28.ast信息提取单元,用于从所述代码修改文件提取所述代码修改文件的ast信息,并将所述ast信息序列化,得到所述ast信息的序列化信息;
29.注释预测单元,用于将所述代码修改文件及所述ast信息的序列化信息输入预设的注释预测模型,得到代码修改的提交注释,其中,所述注释预测模型以训练代码修改文件及所述训练代码修改文件抽取的ast的序列化信息为训练样本,以所述训练代码修改文件中的代码修改的注释为样本标签训练得到。
30.优选地,该装置还包括:
31.第一过滤单元,用于剔除所述项目提交数据中符合以下条件的数据:merge、rollback版本的项目提交数据;修改代码的提交注释不是以动宾结构开头的项目提交数据;修改代码的提交注释的词超过预设的阈值的项目提交数据。
32.优选地,所述代码修改文件提取单元执行所述提取所述项目提交数据中的代码修改文件的步骤,包括:从所述项目提交数据中提取每次提交的项目提交数据修改前后的代码之间的差异信息,形成代码修改文件。
33.优选地,所述ast信息提取单元,包括:
34.第二过滤单元,用于剔除所述代码修改文件中不存在修改的函数,得到过滤后的代码修改文件;
35.提取单元,用于提取所述过滤后的代码修改文件的ast信息;
36.语法节点确定单元,用于基于所述ast信息,确定所述过滤后的代码修改文件中每行代码的语法节点;
37.第一哈希值计算单元,用于对所述过滤后的代码修改文件中每行代码的语法节点进行哈希计算,得到各行代码的各个语法节点的哈希值;
38.第二哈希值计算单元,用于将所述各行代码的各个语法节点的哈希值相加得到所述过滤后的代码修改文件中每行代码的哈希值;
39.序列化单元,用于将所述过滤后代码修改文件中每行代码的哈希值依次排列得到所述ast信息的序列化信息。
40.一种注释预测设备,包括存储器和处理器;
41.所述存储器,用于存储程序;
42.所述处理器,用于执行所述程序,实现如前述介绍中任一项的注释预测方法的各个步骤。
43.一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如前述介绍中任一项的注释预测方法的各个步骤。
44.从上述技术方案可以看出,本技术的注释预测方法,可以获取并过滤项目提交数据;提取所述项目提交数据中的代码修改文件;从所述代码修改文件提取所述代码修改文件的ast信息,并将所述ast信息进行序列化,可以得到所述ast信息的序列化信息;在得到所述ast信息的序列化信息后,可以将所述代码修改文件及所述ast信息的序列化信息输入预设的注释预测模型,得到代码修改的提交注释,其中,所述注释预测模型以训练代码修改文件及所述训练代码修改文件抽取的ast的序列化信息为训练样本,以所述训练代码修改文件中的代码修改的注释为样本标签训练得到。本技术除了将原有的代码修改的信息作为分析的样本之外,还将修改的代码的ast信息作为分析的样本,从而输出更准确的提交注释信息。以帮助开发人员更好地理解每次提交代码修改的具体的结构及语法信息,有助于提高开发人员的阅读效率及研发效率。
附图说明
45.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
46.图1为本技术实施例提供的一种实现注释预测方法的流程图;
47.图2为本技术实施例提供的一种注释预测模型的网络结构示意图;
48.图3为本技术实施例提供的一种实现注释预测方法的流程图;
49.图4为本技术实施例示例的一种注释预测装置结构示意图;
50.图5为本技术实施例公开的一种注释预测设备的硬件结构框图。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.本技术提供的注释预测方案可以应用于任意一种可以实现注释预测的设备中,可选的,可以实现注释预测的设备可以是平板电脑、手机、数字电视等具有数据处理能力的终
端。
53.下面结合图1,介绍本技术实施例给出的注释预测方法的流程,该流程可以包括以下几个步骤:
54.步骤s101,获取项目提交数据。
55.具体地,为了方便管理需要,研发人员通常使用代码版本控制系统来管理每个项目的相关数据。代码版本控制系统是开发团队进行代码提交、管理与同步,保证代码的同步与操作互不干扰的工具。项目提交数据包括每个研发人员提交的代码及相关的注释说明。项目的提交注释信息是在代码提交时,对本次代码修改添加的说明性文字,其他的开发人员能通过阅读提交注释信息快速了解本次提交的修改内容与目的。因此,可以通过获取项目提交数据来获取代码修改文件。
56.步骤s102,提取所述项目提交数据中的代码修改文件。
57.具体地,由上述步骤可知,项目提交数据中包括了研发人员每次提交的修改代码,因此可以在获取所述项目提交数据后,从所述项目提交数据中提取代码修改文件,以便用来提取代码修改文件的ast信息。
58.步骤s103,从所述代码修改文件中,提取所述代码修改文件的抽象语法树ast信息,并将所述ast信息序列化,得到所述ast信息的序列化信息。
59.具体地,在计算机科学中,抽象语法树(abstract syntax tree,ast),或简称语法树(syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。之所以说语法是“抽象”的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;而类似于if-condition-then这样的条件跳转语句,可以使用带有三个分支的节点来表示。
60.因此,在从所述项目提交数据中提取代码修改文件之后,可以从所述代码修改文件中,提取所述代码修改文件的抽象语法树ast信息。不同的代码通常使用不同的编程语言进行编写。因此,针对不同类型的代码修改文件,可以采用与代码修改文件的项目数据对应的工具来提取代码修改文件中的ast信息。例如,针对java项目,可以使用python中的javalang模块提取每次提交修改后的代码的ast信息。
61.在提取到代码修改文件的ast信息后,可以将所述ast信息序列化,得到所述ast信息的序列化信息,以便用来做进一步的分析。
62.例如,可以根据代码修改文件中的ast信息中一些特殊的语法节点,比如ifstatement、methodinvocation等节点,通过解析ast信息找出这些节点在代码中的起始行和结束行,在代码中的起始行和结束行之间的每一行都标记这一节点,标记完所有语法节点之后每一行代码就能转化成一系列的ast信息节点。
63.步骤s104,将所述代码修改文件及所述ast信息的序列化信息输入预设的注释预测模型,得到代码修改的提交注释,其中,所述注释预测模型以训练代码修改文件及所述训练代码修改文件抽取的ast的序列化信息为训练样本,以所述训练代码修改文件中的代码修改的注释为样本标签训练得到。
64.具体地,由上述介绍可知,代码修改文件的ast信息能反馈代码的结构,因此,在提取到所述项目数据的代码修改文件及所述代码修改文件的ast信息之后,可以将所述代码
修改文件及所述ast信息的序列化信息输入预设的注释预测模型,得到代码修改的提交注释,其中,所述注释预测模型以训练代码修改文件及所述训练代码修改文件抽取的ast的序列化信息为训练样本,以所述训练代码修改文件中的代码修改的注释为样本标签训练得到。
65.例如,为了提高提交注释信息的预测准确度,在对所述注释预测模型过程中,可以对于每一个项目的提交数据划分为8:2的两份数据分别作为训练集、验证集。可以将整理好的训练集和验证集输入深度学习模型,以生成的提交注释信息与验证集的提交注释信息的均方误差作为损失函数进行训练,以均方误差最小的深度学习框架作为注释预测模型。
66.其中,可以使用以下损失函数作为注释预测模型的优化函数,对注释预测模型进行优化。该损失函数为:
67.mse=(θ
1-θ2)2;
68.其中,θ1=(x1,x2,...,xn)是归一化层softmax函数输出的产生每个词的概率,θ2是所提取的代码修改及ast信息的每个词的概率矩阵。
69.其中,本步骤所使用的注释预测模型的结构图如图2所示。
70.如图2所示,注释预测模型输入的文本向量包含了从项目提交数据提取的代码修改文件及从所述代码修改文件中提取的ast信息中每个词的映射及位置向量,将文本向量输入到12个编码器组件堆叠成的编码器中,编码器组件包含12个注意力权重矩阵attenntion函数,attention函数可以被描述为使用序列向量queries和对应的keys计算的values的加权和;而当权重分布不均匀时,反向传播的过程会产生较大的梯度,导致训练时神经元失效,所以可以引入缩放因子dk是序列向量的维度,再使用softmax函数将相似度归一化,其中,attention函数表达式如下:
[0071][0072]
softmax函数的表达式如下:
[0073][0074]
其中,z=(z1,z2,...,zn)是注释预测模型的全连接层输出的每个词的概率,归一化softmax函数是将全连接层输出的每个词的概率归一化到[0,1]之间,且每个词的概率相加为1。
[0075]
从上述技术方案可以看出,本技术的注释预测方法,除了可以将原有的代码修改的信息作为分析的样本之外,还将修改的代码的ast信息作为分析的样本,从而输出更准确的提交注释信息。以帮助开发人员更好地理解每次提交代码修改的具体的结构及语法信息,有助于提高开发人员的阅读效率及研发效率。
[0076]
考虑到在实际应用过程中,所获取的项目提交数据包括了merge、rollback版本的提交数据或一些错误、冗余的数据,这一部分提交数据与所提交的代码没有关系;除此之外,还有一些提交数据涉及的代码量太大,这些提交可能是初始化项目等操作,没有实际意义。因此,本技术实施例在上述步骤s102,提取所述项目提交数据中的代码修改文件之前,
可以增加对所获取的项目提交数据的进行过滤的操作。该过程具体如下:
[0077]
剔除所述项目提交数据中符合以下条件的数据。
[0078]
1、merge、rollback版本的项目提交数据;
[0079]
2、修改代码的提交注释不是以动宾结构开头的项目提交数据;
[0080]
3、修改代码的提交注释的词超过预设的阈值的项目提交数据。
[0081]
具体地,在所获取的每个项目的数据中,有一些项目提交数据是merge、rollback版本的数据,merge、rollback版本的数据中提交的注释信息跟研发人员提交的代码之间没有任何关系;除此之外,还有一部分项目提交数据涉及的代码量太大,而这些项目提交数据有可能是初始化项目的相关数据,没有实际意义,另一方面,由于项目提交数据中的提交注释信息本身的质量对结果的影响非常大,需要一些质量较高的数据来做分析,并且,项目提交数据太大也不利于进一步的数据分析,因此,可以在提取所述项目提交数据中的代码修改文件之前,可以使用stanford corenlp技术先剔除所述项目提交数据的一些数据,剔除的条件可以如下:
[0082]
1、merge、rollback版本的项目提交数据;
[0083]
2、修改代码的提交注释不是以动宾结构开头的项目提交数据;
[0084]
在修改代码文件中,提交注释以动宾结构开头的项目提交数据更能清晰表达修改的相关信息,因此,可以剔除不是修改代码的提交注释以动宾结构开头的项目提交数据。
[0085]
3、修改代码的提交注释的词超过预设的阈值的项目提交数据。
[0086]
例如,过长的提交信息本身就是一种干扰,可以剔除代码修改文件中提交注释的词超过30个词的项目提交数据,以便可以生成简介、准确的提交注释信息。
[0087]
从上述技术方案可以看出,本技术实施例可以在提取所述ast信息之前,剔除所述项目提交数据中的以merge、rollback版本的项目提交数据、以及修改代码的提交注释不是以动宾结构开头的项目提交数据、及修改代码的提交注释的词超过预设的阈值的项目提交数据。以便可以获取得到表达清晰、简洁、准确的项目提交数据,有助于得到更加准确的项目提交注释信息。
[0088]
本技术实施例对上述步骤s102,提取所述项目提交数据中的代码修改文件的过程进行介绍,该过程具体如下:
[0089]
从所述项目提交数据中,提取每次提交的项目提交数据修改前后的代码之间的差异信息,形成代码修改文件。
[0090]
具体地,研发人员每次向代码版本管理系统提交数据时,每次提交的项目提交数据有可能是存在差异信息的,可以通过提取每次提交的项目提交数据修改前后的代码之间的差异信息,形成代码修改文件。以便可以用来提取代码修改文件的ast信息。
[0091]
例如,若项目提交数据是java类型的项目提交数据,可以使用git中的git diff命令获取每次提交信息修改前后的代码之间的差异信息,并生成diff文件。将diff文件作为代码修改文件。
[0092]
由上述介绍可知,本技术实施例可以从所述代码修改文件中,提取所述代码修改文件的ast信息,并将所述ast信息序列化,得到所述ast信息的序列化信息。接下来,结合图3,介绍该过程,该过程可以包括如下几个步骤:
[0093]
步骤s201,剔除所述代码修改文件中不存在修改的函数,得到过滤后的代码修改
文件。
[0094]
具体地,由上述实施例介绍可知,从所述项目提交数据中提取到代码修改文件后,若代码修改文件中不存在修改的函数,则说明所述代码修改文件中的代码未发生过修改。过滤掉没有修改的函数,可以针对需要对过长的数据进行截断的情况来做数据过滤,这样能尽可能保证能够保留所述代码修改文件中修改部分;此外,只保留代码修改文件中有修改的部分,可以忽略没有修改的无用信息,减少干扰信息,能更有效地预测提交注释。因此,为了提高数据分析的效率及准确度,可以对从所述项目提交数据中提取的代码修改文件进一步过滤所述代码修改文件。可以剔除所述代码修改文件中不存在修改的函数,得到过滤后的代码修改文件。
[0095]
步骤s202,提取所述过滤后的代码修改文件的ast信息。
[0096]
具体地,在将所述代码修改文件进行过滤后,可以提取所述过滤后的代码修改文件的ast信息,以便用来做数据分析。
[0097]
步骤s203,基于所述ast信息,确定所述过滤后的代码修改文件中每行代码的语法节点。
[0098]
具体地,由上述介绍可知,ast信息揭示了代码修改文件中的代码的结构信息,因此,在提取所述过滤后的代码修改文件中的ast信息之后,可以基于所述ast信息,确定所述过滤后的代码修改文件中每行代码的语法节点。以便用来做进一步的分析。
[0099]
步骤s204,对所述过滤后的代码修改文件中每行代码的语法节点进行哈希计算,得到各行代码的各个语法节点的哈希值。
[0100]
具体地,为了更匹配数据分析模型的处理要求,提高数据分析的效率,可以对所述过滤后的代码修改文件中每行代码的语法节点进行哈希计算,得到各行代码的各个语法节点的哈希值。
[0101]
步骤s205,将所述各行代码的各个语法节点的哈希值相加得到所述过滤后的代码修改文件中每行代码的哈希值。
[0102]
具体地,在得到所述过滤后的代码修改文件中每行代码的各行代码的各个语法节点的哈希值之后,可以将所述各行代码的各个语法节点的哈希值相加得到所述过滤后的代码修改文件中每行代码的哈希值。
[0103]
步骤s206,将所述过滤后代码修改文件中每行代码的哈希值依次排列,得到所述ast信息的序列化信息。
[0104]
具体地,在确定所述过滤后的代码修改文件中每行代码的哈希值后,可以将所述过滤后代码修改文件中每行代码的哈希值依次排列,得到所述ast信息的序列化信息。以便更好进行数据处理。
[0105]
从上述技术方案可以看出,本技术实施例可以从所述代码修改文件中,提取所述代码修改文件的ast信息,并将所述ast信息序列化,得到所述ast信息的序列化信息,以便可以用来做数据分析。
[0106]
下面开始介绍本技术实施例提供的注释预测装置,下文描述的注释预测装置与上文描述的注释预测方法可相互对应参照。
[0107]
参见图4,图4为本技术实施例公开的一种注释预测装置结构示意图。
[0108]
如图4所示,该注释预测装置可以包括:
[0109]
项目提交数据获取单元101,用于获取项目提交数据;
[0110]
代码修改文件提取单元102,用于提取所述项目提交数据中的代码修改文件;
[0111]
ast信息提取单元103,用于从所述代码修改文件提取所述代码修改文件的ast信息,并将所述ast信息序列化,得到所述ast信息的序列化信息;
[0112]
注释预测单元104,用于将所述代码修改文件及所述ast信息的序列化信息输入预设的注释预测模型,得到代码修改的提交注释,其中,所述注释预测模型以训练代码修改文件及所述训练代码修改文件抽取的ast的序列化信息为训练样本,以所述训练代码修改文件中的代码修改的注释为样本标签训练得到。
[0113]
本技术实施例的装置除了可以将原有的代码修改的信息作为分析的样本之外,还可以将修改的代码的ast信息作为分析的样本,从而输出更准确的提交注释信息。以帮助开发人员更好地理解每次提交代码修改的具体的结构及语法信息,有助于提高开发人员的阅读效率及研发效率。
[0114]
进一步可选的,上述注释预测装置,还可以包括:
[0115]
过滤单元,用于剔除所述项目提交数据中符合以下条件的数据:merge、rollback版本的项目提交数据;修改代码的提交注释不是以动宾结构开头的项目提交数据;修改代码的提交注释的词超过预设的阈值的项目提交数据。
[0116]
进一步可选的,所述代码修改文件提取单元执行所述提取所述项目提交数据中的代码修改文件的步骤,包括:从所述项目提交数据中提取每次提交的项目提交数据修改前后的代码之间的差异信息,形成代码修改文件。
[0117]
进一步可选地,所述ast信息提取单元,包括:
[0118]
函数清除单元,用于剔除所述代码修改文件中不存在修改的函数,得到过滤后的代码修改文件;
[0119]
提取单元,用于提取所述过滤后的代码修改文件的ast信息;
[0120]
语法节点确定单元,用于基于所述ast信息,确定所述过滤后的代码修改文件中每行代码的语法节点;
[0121]
第一哈希值计算单元,用于对所述过滤后的代码修改文件中每行代码的语法节点进行哈希计算,得到各行代码的各个语法节点的哈希值;
[0122]
第二哈希值计算单元,用于将所述各行代码的各个语法节点的哈希值相加得到所述过滤后的代码修改文件中每行代码的哈希值;
[0123]
序列化单元,用于将所述过滤后代码修改文件中每行代码的哈希值依次排列得到所述ast信息的序列化信息。
[0124]
其中,上述注释预测装置所包含的各个单元的具体处理流程,可以参照前文方法部分相关介绍,此处不再赘述。
[0125]
本技术实施例提供的注释预测装置可应用于注释预测设备,如终端:手机、电脑等。可选的,图5示例了注释预测设备的硬件结构框图,参照图5,注释预测设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
[0126]
在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
[0127]
处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
[0128]
存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
[0129]
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述终端注释预测方案中的各个处理流程。
[0130]
本技术实施例还提供一种可读存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述终端在注释预测方案中的各个处理流程。
[0131]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0132]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0133]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。各个实施例之间可以相互组合。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献