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

代码文档化方法、装置、电子设备及存储介质与流程

2022-06-25 08:04:27 来源:中国专利 TAG:


1.本技术涉及软件开发领域,具体涉及一种代码文档化方法、装置、电子设备及存储介质。


背景技术:

2.软件开发领域中,为了让开发者更好的了解软件的能力以及使用方式是关键需求,因此需要对代码进行整理,并提炼为便于开发者越多的代码文档。现有技术中,代码文档化工具大多存在需要人工将源代码一一输入工具的缺陷,会消耗大量精力,并且可扩展性弱。


技术实现要素:

3.本技术的一个目的在于提出一种代码文档化方法、装置、电子设备及存储介质,能够提高代码文档化的可拓展性。
4.根据本技术实施例的一方面,公开了一种代码文档化方法,所述方法包括:
5.获取代码文件,并从所述代码文件中读取源代码;
6.调用针对目标语法特征语句预设的中间定义,遍历源代码中各语句的关键描述文本,并基于所述关键描述文本定位所述源代码中的目标语法特征语句;
7.抽取所述源代码中的目标语法特征语句的语法特征字段,并抽取所述源代码中的目标语法特征语句的注释;
8.将所述语法特征字段与所述注释进行关联,并输出为代码文档。
9.根据本技术实施例的一方面,公开了一种代码文档化装置,所述装置包括:
10.代码读取模块,配置为获取代码文件,并从所述代码文件中读取源代码;
11.中间定义调用模块,配置为调用针对目标语法特征语句预设的中间定义,遍历源代码中各语句的关键描述文本,并基于所述关键描述文本定位所述源代码中的目标语法特征语句;
12.抽取模块,配置为抽取所述源代码中的目标语法特征语句的语法特征字段,并抽取所述源代码中的目标语法特征语句的注释;
13.文档输出模块,配置为将所述语法特征字段与所述注释进行关联,并输出为代码文档。
14.根据本技术实施例的一方面,公开了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各种可选实现方式中提供的方法。
15.根据本技术实施例的一方面,公开了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述各种可选实现方式中提供的方法。
16.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计
算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
17.本技术实施例中,在针对目标语法特征语句预设对应的中间定义时,可以根据开发者需求灵活自由地对中间定义进行拓展,从而使得通过调用中间定义所进行的代码文档化能够灵活地支持各类程序语言(例如:lua,c 等),从而提高了代码文档化的可拓展性。
18.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。
附图说明
20.通过参考附图详细描述其示例实施例,本技术的上述和其它目标、特征及优点将变得更加显而易见。
21.图1示出了根据本技术一个实施例的代码文档化方法的流程图。
22.图2示出了根据本技术一个实施例的针对c#语法特征所设的中间定义的继承关系示意图。
23.图3示出了根据本技术一个实施例的将c#源代码转换为markdown文档的流程示意图。
24.图4示出了根据本技术一个实施例的代码文档化工具的逻辑用例图。
25.图5示出了根据本技术一个实施例的代码文档化装置的框图。
26.图6示出了根据本技术一个实施例的电子设备的硬件图。
具体实施方式
27.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本技术的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本技术的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
28.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本技术的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本技术的各方面变得模糊。
29.附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
30.本技术提供了一种代码文档化方法,主要用于自动提取出代码文件中的源代码,
并自动整理提炼源代码,最终将提炼出的内容进行文档化,输出对应的代码文档以供开发者使用。
31.图1示出了本技术实施例所提供代码文档化方法的流程图,该方法的示例性执行主体为集成有该方法实施逻辑的代码文档化工具,该方法包括:
32.步骤s110、获取代码文件,并从代码文件中读取源代码;
33.步骤s120、调用针对目标语法特征语句预设的中间定义,遍历源代码中各语句的关键描述文本,并基于关键描述文本定位源代码中的目标语法特征语句;
34.步骤s130、抽取源代码中的目标语法特征语句的语法特征字段,并抽取源代码中的目标语法特征语句的注释;
35.步骤s140、将语法特征字段与注释进行关联,并输出为代码文档。
36.本技术实施例中,在代码文档化工具中预先定义有各类中间定义,以对各类目标语法特征语句进行规范定义。中间定义描述有目标语法特征语句中可能有的关键描述文本。其中,语法特征指的是程序语言中遵循代码语法的特征类型。
37.在c#语言中,语法特征有类(class)、属性(property)、委托(delegate)、枚举(enums)、事件(event)、函数(function)、运算符(operator)等。参考图2,针对c#语言,代码文档化工具中可以首先构建define类,包含基本设置如代码文档是否需要插入示例代码,属性的描述内容是否需详细等通用定义;再之创建中间定义类(accessordefine、classdefine、delegatedefine等),描述有语法特征的中英文名称,语法特征是否为静态以是否需要描述等逻辑;然后是c#的定义类(csaccessordefine、csclassdefine、csdelegatedefine等),根据c#特征,继承中间定义类返回特定的c#格式。
38.代码文档化工具获取到待对其中源代码进行文档化的代码文件后,从该代码文件中读取源代码。进而调用中间定义,遍历源代码中各语句的关键描述文本;并且,将遍历到的源代码中各语句的关键描述文本与中间定义所描述的目标语法特征语句中可能有的关键描述文本进行对比,从而定位源代码中的目标语法特征语句。
39.代码文档化工具将源代码中的目标语法特征语句的语法特征字段抽取出来,并将源代码中的目标语法特征语句的注释抽取出来。抽取出的字段可用于解释抽取出的语法特征字段。代码文档化工具将二者进行关联,并将关联后的二者输出为代码文档,从而使得开发者能够通过查看代码文档了解源代码中各语法特征字段的语义。其中,输出的代码文档包括markdown文档,html文档等。
40.本技术实施例中,在针对目标语法特征语句预设对应的中间定义时,可以根据开发者需求灵活自由地对中间定义进行拓展,从而使得通过调用中间定义所进行的代码文档化能够灵活地支持各类程序语言(例如:lua,c 等),从而提高了代码文档化的可拓展性。
41.在一实施例中,从用户界面的输入路径框获取第一文件路径,并从用户界面的输出路径框获取第二文件路径。从第一文件路径获取代码文件,并将代码文档输出至第二文件路径。
42.该实施例中,代码文档化工具在用户界面提供有输入路径框以及输出路径框。输入路径框供用户配置用于输入代码文件的第一文件路径,输出路径框供用户配置用于输出代码文档的第二文件路径。
43.在一实施例中,遍历源代码中的分号、左花括号以及右花括号。根据分号、左花括
号以及右花括号,定位源代码中各语句。
44.该实施例中,代码文档化工具提取出源代码后,对源代码中的“;”、“{”以及“}”进行遍历。进而根据遍历到的“;”、“{”以及“}”定位源代码中各语句,进而再独立地遍历源代码中各语句的关键描述文本。
45.在一实施例中,根据中间定义,获取关键描述文本的分数。基于关键描述文本的分数,对源代码中各语句进行评分。基于源代码中各语句的评分结果,定位源代码中的目标语法特征语句。
46.该实施例中,代码文档化工具预设的中间定义除了描述有目标语法特征语句中可能有的关键描述文本外,还描述有关键描述文本的分数,以及按照关键描述文本的分数对目标语法特征语句进行评分后,目标语法特征语句的评分结果所应达到的标准。其中,关键描述文本的分数越高,说明关键描述文本在目标语法特征语句的重要程度越高。
47.代码文档化工具调用中间定义,遍历源代码中各语句的关键描述文本,并获取源代码中各语句的关键描述文本的分数。进而基于源代码中各语句的关键描述文本的分数,对源代码中各语句进行评分。若源代码中一语句的评分结果达到中间定义所规范的标准,说明源代码中该语句属于目标语法特征语句。
48.在一实施例中,调用针对c#委托语句预设的中间定义,遍历源代码中各语句的关键描述文本,并基于关键描述文本定位源代码中的c#委托语句,其中,关键描述文本包括public字段文本、delegate字段文本以及左括号文本。
49.该实施例中,代码文档化工具预设有针对c#委托语句的中间定义,描述了c#委托语句中可能有public字段文本、delegate字段文本以及左括号文本。进而调用该中间定义遍历源代码中各语句的关键描述文本,并且将遍历到的源代码中各语句的关键描述文本与public字段文本、delegate字段文本以及左括号文本进行对比,从而定位源代码中的c#委托语句。
50.详细的,针对c#委托语句的中间定义还可以描述有public字段文本、delegate字段文本以及左括号文本各自对应的分数,以及按照这三类关键描述文本的分数对c#委托语句进行评分后,c#委托语句的评分结果所应达到的标准。这种情况下,调用该中间定义遍历源代码中各语句包含有这三类关键描述文本的哪几类,进而基于各自对应的分数对源代码各语句进行评分。若源代码中一语句的评分结果达到该中间定义所规范的标准,说明源代码中该语句属于c#委托语句。
51.在一实施例中,调用针对c#函数语句预设的中间定义,遍历源代码中各语句的关键描述文本,并基于关键描述文本定位源代码中的c#函数语句,其中,关键描述文本包括public字段文本、以及左括号文本。
52.该实施例中,代码文档化工具预设有针对c#函数语句的中间定义,描述了c#函数语句中可能有public字段文本、以及左括号文本。进而调用该中间定义遍历源代码中各语句的关键描述文本,并且将遍历到的源代码中各语句的关键描述文本与public字段文本、以及左括号文本进行对比,从而定位源代码中的c#函数语句。
53.详细的,针对c#函数语句的中间定义还可以描述有public字段文本、以及左括号文本各自对应的分数,以及按照这两类关键描述文本的分数对c#函数语句进行评分后,c#函数语句的评分结果所应达到的标准。这种情况下,调用该中间定义遍历源代码中各语句
包含有这两类关键描述文本的哪几类,进而基于各自对应的分数对源代码各语句进行评分。若源代码中一语句的评分结果达到该中间定义所规范的标准,说明源代码中该语句属于c#函数语句。
54.在一实施例中,调用针对c#运算符语句预设的中间定义,遍历源代码中各语句的关键描述文本,并基于关键描述文本定位源代码中的c#运算符语句,其中,关键描述文本包括public字段文本、以及operator文本。
55.该实施例中,代码文档化工具预设有针对c#运算符语句的中间定义,描述了c#运算符语句中可能有public字段文本、以及operator文本。进而调用该中间定义遍历源代码中各语句的关键描述文本,并且将遍历到的源代码中各语句的关键描述文本与public字段文本、以及operator文本进行对比,从而定位源代码中的c#运算符语句。
56.详细的,针对c#运算符语句的中间定义还可以描述有public字段文本、以及operator文本各自对应的分数,以及按照这两类关键描述文本的分数对c#运算符语句进行评分后,c#运算符语句的评分结果所应达到的标准。这种情况下,调用该中间定义遍历源代码中各语句包含有这两类关键描述文本的哪几类,进而基于各自对应的分数对源代码各语句进行评分。若源代码中一语句的评分结果达到该中间定义所规范的标准,说明源代码中该语句属于c#运算符语句。
57.在一实施例中,将目标语法特征语句作为示例代码插入代码文档。
58.该实施例中,代码文档化工具输出的代码文档中,不仅包含有关联的语法特征字段以及注释,还包含有关联的示例代码。示例代码为语法特征字段所在的目标语法特征语句。
59.参考图3以及图4,在一实施例中,代码文档化工具用以将c#源代码提炼输出为markdown文档的代码主要有form,collectallfiles,cstextparse及markdowntransform四个大类。
60.form类主要用于控制工具外部的界面设计,包括路径框、按钮、文字提示等。
61.collectallfiles类中的clear()函数逻辑主要用于图3中的清理步骤,被form类引用,再次运行会对所有代码和路径进行清理,可以反复多次使用。
62.collectallfiles类中的collect()函数逻辑主要用于图3中的收集源代码步骤,遍历所需的c#代码。
63.collectallfiles类中的dispitchallfile()函数逻辑可以利用threadpool线程池,将抽取的源代码分给多个线程并行转换,以此提高转换效率。
64.cstextparse类的函数逻辑主要用于图3中的分析器分析c#步骤,在继承父类所有函数的基础上,其构造函数cstextparse()定义了所抽取注释的规定格式,该部分的注释格式可根据开发者所需进行设置;getonesemanteme()函数逻辑根据“;”、“{”以及“}”定位源代码中各语句;parsetext()函数定义代码文件解析失败导致无法抽取源代码的逻辑。
65.cstextparse类中的fetchusefulcomment()函数逻辑用于查找有用的代码和注释;removenotalphaanddigit()函数,removeunusefulcomment()函数逻辑用于移除源代码中不需要的内容信息。
66.cstextparse类中的isdelegate()函数根据“public”、“delegate”和“(”,猜测抽取的语句是c#委托的可能性;isfunction()函数根据“public”和“(”猜测抽取的语句是c#
函数的可能性;isoperator()函数根据“public”和“operator”猜测抽取的语句是c#运算符的可能性。
67.markdowntransform类用于将c#源代码转换为自定义格式的markdown文档。其中的函数逻辑参考图x。
68.markdowntransform类中的totext()函数逻辑主要用于图3中的中间定义转变为markdown文本步骤,遍历所有的类、枚举、函数等c#特征,被form类引用。
69.markdowntransform类中的getmd相关函数、path相关函数、tomd相关函数、add相关函数、ordershow《t》函数以及create相关函数主要用于图3中的根据自定义格式形成文本布局步骤。
70.markdowntransform类中的getmd相关函数主要用于获取markdown文档的内容。其中germdcomment()函数若输入路径不为空,则返回所有的注释内容;getparamstring()函数则返回markdown文档的参数部分。
71.markdowntransform类中的path相关函数中,namespacetopath()和getclasstodescripturl()这两者的函数逻辑主要用于实现markdown文档中主页面和子页面之间的跳转;getclasstootherclass()函数逻辑用于实现markdown文档内类与类之间的跳转。
72.markdowntransform类中的tomd相关函数主要用于查询是否有多态,并且将内容转换为markdown文本。如accessortomd()函数逻辑用于将c#属性语句转换为markdown文本;functiontomd()函数逻辑用于将c#函数转换为语句转换为markdown文本。此类函数会被create相关函数中的createclassmd()函数引用。
73.markdowntransform类中的add相关函数主要用于添加自定义文本布局。如addtitle()函数逻辑用于添加自定义格式标题;addcode()函数逻辑用于条件示例代码;addtabeltext()函数逻辑用于添加自定义表格形式。
74.markdowntransform类中的ordershow《t》函数主要用于对markdown文档进行布局排序,按照设计需求根据语法特征是否为构造函数,是否为静态等进行遍历。该函数会被create相关函数中的createclassmd()函数引用来对markdown文档的整体格式进行排序。
75.markdowntransform类中的create相关函数主要用于生成markdown文档的整体文本布局。如createclassmd()函数逻辑用于生成类的整体的api文档自定义格式,包含命名空间、继承关系、“属性”描述与表格等;createenummd()函数逻辑用于生成枚举的整体的api文档自定义格式。
76.markdowntransform类中的tofile()函数逻辑主要用于图3中的创建markdown文档和生成markdown文件夹的步骤。会被form类引用,用于生成所有的markdown文档。
77.图5示出了根据本技术一实施例的代码文档化装置,所述装置包括:
78.代码读取模块210,配置为获取代码文件,并从所述代码文件中读取源代码;
79.中间定义调用模块220,配置为调用针对目标语法特征语句预设的中间定义,遍历源代码中各语句的关键描述文本,并基于所述关键描述文本定位所述源代码中的目标语法特征语句;
80.抽取模块230,配置为抽取所述源代码中的目标语法特征语句的语法特征字段,并抽取所述源代码中的目标语法特征语句的注释;
81.文档输出模块240,配置为将所述语法特征字段与所述注释进行关联,并输出为代码文档。
82.在本技术的一示例性实施例中,所述装置配置为:
83.从用户界面的输入路径框获取第一文件路径,并从所述用户界面的输出路径框获取第二文件路径;
84.从所述第一文件路径获取代码文件,并将所述代码文档输出至所述第二文件路径。
85.在本技术的一示例性实施例中,所述装置配置为:
86.遍历所述源代码中的分号、左花括号以及右花括号;
87.根据所述分号、左花括号以及右花括号,定位所述源代码中各语句。
88.在本技术的一示例性实施例中,所述装置配置为:
89.根据所述中间定义,获取所述关键描述文本的分数;
90.基于所述关键描述文本的分数,对所述源代码中各语句进行评分;
91.基于所述源代码中各语句的评分结果,定位所述源代码中的目标语法特征语句。
92.在本技术的一示例性实施例中,所述装置配置为:
93.调用针对c#委托语句预设的中间定义,遍历所述源代码中各语句的关键描述文本,并基于所述关键描述文本定位所述源代码中的c#委托语句,其中,所述关键描述文本包括public字段文本、delegate字段文本以及左括号文本。
94.在本技术的一示例性实施例中,所述装置配置为:
95.调用针对c#函数语句预设的中间定义,遍历所述源代码中各语句的关键描述文本,并基于所述关键描述文本定位所述源代码中的c#函数语句,其中,所述关键描述文本包括public字段文本、以及左括号文本。
96.在本技术的一示例性实施例中,所述装置配置为:
97.将所述目标语法特征语句作为示例代码插入所述代码文档。
98.下面参考图6来描述根据本技术实施例的电子设备30。图6显示的电子设备30仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
99.如图6所示,电子设备30以通用计算设备的形式表现。电子设备30的组件可以包括但不限于:上述至少一个处理单元310、上述至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330。
100.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图1中所示的各个步骤。
101.存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(rom)3203。
102.存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
103.总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构
的局域总线。
104.电子设备30也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备30交互的设备通信,和/或与使得该电子设备30能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口350进行。输入/输出(i/o)接口350与显示单元340相连。并且,电子设备30还可以通过网络适配器360与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器360通过总线330与电子设备30的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
105.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本技术实施方式的方法。
106.在本技术的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
107.根据本技术的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
108.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
109.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
110.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
111.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的
过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
112.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
113.此外,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
114.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本技术实施方式的方法。
115.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由所附的权利要求指出。
再多了解一些

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

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

相关文献