文件注释方法、装置、存储介质和计算设备与流程

文档序号:26494981发布日期:2021-09-03 23:28阅读:87来源:国知局
文件注释方法、装置、存储介质和计算设备与流程

1.本发明的实施方式涉及信息技术领域,更具体地,本发明的实施方式涉及文件注释方法、装置、存储介质和计算设备。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.通常,人们在处理各类文件(例如java文件、c#文件等)过程中,可在文件代码中添加注释,代码中的注释是对代码的解释或提示,添加合适的注释有助于对代码逻辑的阅读理解,可提高代码的可读性。注释内容应准确、易懂、简洁,注释内容不会被计算机编译。举例来说,java文件可接受多种注释格式,例如可为://注释内容,还可为:/*注释内容*/,等等。修改代码时应注意对对应的注释进行更新,使代码的注释总是保持最新。但是,由于相关规范的缺失,无论添加注释或是更新注释,大多仍然依赖操作人员手动处理,给操作人员带来较大负担,如果文件出现问题,也难于确定相关责任人,不利于文件的维护。


技术实现要素:

4.本发明期望提供一种文件注释方法、装置、存储介质和计算设备,以至少解决上述至少一个技术问题。
5.第一方面,本申请实施例提供一种文件注释方法,包括:
6.根据模块匹配规则获得待处理文件的模块信息;
7.基于所述模块信息以及第一映射文件,获取所述模块信息对应的注释信息,其中所述第一映射文件中包括至少一个模块信息与至少一个注释信息之间的对应关系;
8.利用获取的所述注释信息对所述待处理文件进行注释处理。
9.根据本申请实施例的文件注释方法,可选地,所述根据模块匹配规则获得待处理文件的模块信息,包括:
10.利用正则表达式匹配的方式确定所述待处理文件的包名前缀;
11.在所述包名前缀之后具有一个模块名的情况下,或者,在所述包名前缀之后具有一个模块名以及至少一个子包名的情况下,将所述包名前缀之后的第一个模块名确定为所述模块信息。
12.根据本申请实施例的文件注释方法,可选地,所述利用获取的所述注释信息对所述待处理文件进行注释处理,包括以下至少一者:
13.基于获取的所述注释信息,在所述待处理文件中新建注释;
14.在所述待处理文件中已经包含至少一种注释信息的情况下,提取所述至少一种注释信息,并将提取的所述至少一种注释信息与获取的所述注释信息添加至所述待处理文件中;
15.在所述待处理文件中已经包含至少一种注释信息的情况下,基于获取的所述注释
信息更新所述至少一种注释信息;
16.在所述待处理文件中已经包含至少一种注释信息的情况下,将获取的所述注释信息添加至所述待处理文件中。
17.根据本申请实施例的文件注释方法,可选地,所述利用获取的所述注释信息对所述待处理文件进行注释处理,还包括:对所述待处理文件中的注释信息进行格式化处理。
18.根据本申请实施例的文件注释方法,可选地,在所述根据模块匹配规则获得待处理文件的模块信息之前,还包括:使用属性properties工具配置所述第一映射文件。
19.根据本申请实施例的文件注释方法,可选地,在所述基于所述模块信息以及第一映射文件,获取所述模块信息对应的注释信息之前或之后,还包括:周期性地或非周期性地更新所述第一映射文件。
20.根据本申请实施例的文件注释方法,可选地,所述注释信息包括以下至少一者:责任人信息、作者信息、时间信息、文件描述信息。
21.根据本申请实施例的文件注释方法,可选地,在所述根据模块匹配规则获得待处理文件的模块信息之前,还包括:响应于在待处理文件的操作界面中选中预设的功能控件,触发执行对所述待处理文件进行注释处理的过程。
22.第二方面,本发明实施例还提供一种文件注释装置装置,包括:
23.模块信息获取模块,用于根据模块匹配规则获得待处理文件的模块信息;
24.注释信息获取模块,用于基于所述模块信息以及第一映射文件,获取所述模块信息对应的注释信息,其中所述第一映射文件中包括至少一个模块信息与至少一个注释信息之间的对应关系;
25.注释处理模块,用于利用获取的所述注释信息对所述待处理文件进行注释处理。
26.第三方面,本申请实施例还提供一种计算设备,包括:
27.一个或多个处理器;
28.存储装置,用于存储一个或多个程序;
29.当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
30.第四方面,本申请实施例还提供一种非易失性计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现如上所述的方法。
31.本申请的实施例中具有一映射文件,该映射文件中存储有模块信息与注释信息的对应关系,对于需要做注释处理的文件(例如对java文件新建注释或更新注释等),首先可根据预设的规则获得待处理文件的模块信息,然后可根据映射文件确定模块信息对应的注释信息,最后可利用获得的注释信息完成注释处理。
32.利用本申请的实施例,在处理文件过程中可基于映射文件获得相关的注释信息,利用获得的注释信息可自动完成注释处理,而不需要操作者一一手动添加,因此本申请的实施例能够达到使文件注释机制轻量化的目的,可减轻操作人员负担,提高文件整体处理效率。
附图说明
33.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目
的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
34.图1示意性示出本申请实施例的文件注释方法的流程图;
35.图2示意性示出本申请实施例的获取模块信息的流程图;
36.图3示意性示出本申请实施例的确定module信息的流程图;
37.图4示意性示出本申请实施例的配置映射表的流程图;
38.图5示意性示出本申请另一实施例的文件注释方法的流程图;
39.图6和7分别示意性示出利用本申请实施例进行文档注释前后的效果示意图;
40.图8示意性示出本申请实施例的存储介质结构示意图;
41.图9示意性示出本申请实施例的文件注释装置的结构示意图;
42.图10示意性示出本申请实施例的模块信息获取模块的结构示意图;
43.图11示意性示出根据本申请实施例的计算设备结构示意图。
44.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
45.下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
46.本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
47.根据本发明的实施方式,提出了一种文件注释方法、存储介质、装置和计算设备。
48.在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
49.下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
50.发明概述
51.本申请实施例的目的之一是建立基于模块映射的注释处理方案,创建模块信息与注释内容的映射表,在文件处理过程中可利用创建的映射表自动添加注释,实现对注释内容的统一处理。以注释内容包括“责任人信息”为例,通过上述处理,可以将责任人信息落实到文件的实际生产中,保证每一个文件都有对应的负责人维护,遇到问题时可以根据注释中的信息快速确定相关责任人进行问题处理。此外,基于本申请实施例的构思,还可以帮助开发者生成符合规范的注释,使用统一的注释格式,提升文件的可阅读性,简化注释处置过程,减轻操作人员的负担。
52.在介绍了本发明的基本思想之后,下面具体介绍本发明的各种非限制性实施方式。
53.示例性方法
54.下面参考图1来描述根据本发明示例性实施方式的文件注释方法。
55.图1示意性地示出了根据本申请一实施方式的文件注释方法的实现流程图,该方
法包括以下步骤:
56.s101,根据模块匹配规则获得待处理文件的模块信息;
57.s102,基于所述模块信息以及第一映射文件,获取所述模块信息对应的注释信息,其中所述第一映射文件中包括至少一个模块信息与至少一个注释信息之间的对应关系;
58.s103,利用获取的所述注释信息对所述待处理文件进行注释处理。
59.本申请的实施例中具有一映射文件,该映射文件中存储有模块信息与注释信息的对应关系,对于需要做注释处理的文件(例如对java文件新建注释或更新注释等),首先可根据预设的规则获得待处理文件的模块信息,然后可根据映射文件确定模块信息对应的注释信息,最后可利用获得的注释信息完成注释处理。
60.利用本申请的实施例,操作者可根据需求预先配置映射文件,在处理文件过程中可通过映射文件添加需要的注释信息,如此可实现对注释内容的自动处理,尤其对于一些重要的注释内容(例如责任人信息、文件创建日期等),可统一添加至文件中,而不再需要操作者一一手动添加,使文件注释机制轻量化,可减轻人员负担,提高文件处理效率。
61.根据本申请的实施例,可选地,所述根据模块匹配规则获得待处理文件的模块信息,可通过如下方式实现:
62.s201,利用正则表达式匹配的方式确定所述待处理文件的包名前缀;
63.s202,在所述包名前缀之后具有一个模块名的情况下,或者,在所述包名前缀之后具有一个模块名以及至少一个子包名的情况下,将所述包名前缀之后的第一个模块名确定为所述模块信息。
64.举例来说,根据文件的包名命名规则,包名可为“com.公司名.项目名.模块名
……”
,其中,包名前缀为“com.公司名.项目名”。按照这种命名规则,可利用正则表达式匹配的方式确定文件包名中的包名前缀,然后将包名前缀后面的第一个模块名作为本申请实施例中需要的模块信息。
65.需要注意,在包名前缀之后可能只有一个模块名,也可能有一个模块名以及至少一个子包名。对于前者,将包名前缀之后的该模块名作为模块信息;对于后者,将包名前缀之后的第一个模块名作为模块信息,忽略其余子包名。也就是说,本申请实施例中的模块信息取包名前缀之后的第一个模块名。其中,采用的正则表达式的具体形式可根据待处理文件的包名形式确定,本申请实施例对此没有特殊限制。
66.根据本申请的实施例,可选地,所述利用获取的所述注释信息对所述待处理文件进行注释处理,包括以下至少一者:
67.(1)基于获取的所述注释信息,在所述待处理文件中新建注释;
68.(2)在所述待处理文件中已经包含至少一种注释信息的情况下,提取所述至少一种注释信息,并将提取的所述至少一种注释信息与获取的所述注释信息添加至所述待处理文件中;
69.(3)在所述待处理文件中已经包含至少一种注释信息的情况下,基于获取的所述注释信息更新所述至少一种注释信息;
70.(4)在所述待处理文件中已经包含至少一种注释信息的情况下,将获取的所述注释信息添加至所述待处理文件中。
71.利用本申请的实施例可实现多种注释处理,以上第(1)种为新建注释,也就是将获
取的注释信息新增至文件中,例如将责任人信息以注释的形式新增至代码中,在代码出现问题时可快速定位责任人;
72.以上第(2)种为提取已有注释信息并添加注释,例如注释中已有代码创建时间的信息,但该注释的格式不规范,则通过执行本申请实施例的步骤可提取该代码创建时间的信息,并以规范的格式添加回代码注释中,同时还可将获取的其余注释信息一并添加至代码注释中;
73.以上第(3)种为更新注释,例如在映射关系更新后,可通过执行本申请实施例的步骤对已有的注释内容进行更新,确保注释信息准确;
74.以上第(4)种为添加注释,例如原代码文件中已有责任人信息,通过执行本申请实施例的步骤可将其他注释信息(例如作者名、代码创建时间等)添加至代码文件的注释中,使注释信息完整可追溯。
75.根据本申请的实施例,可选地,在所述根据模块匹配规则获得待处理文件的模块信息之前,响应于在待处理文件的操作界面中选中预设的功能控件,触发执行对所述待处理文件进行注释处理的过程。
76.也就是说,操作者可通过触发功能控件的方式,触发本申请实施例的代码注释的处理过程,例如可在文件的操作界面设置一个按钮,当操作者点击该按钮后,后台开始执行上述的s101

s103的处理过程,其中在获得注释信息之后可执行上述第(1)

(4)种中任一种或多种注释处理。
77.根据本申请的实施例,可选地,所述利用获取的所述注释信息对所述待处理文件进行注释处理,还包括:对所述待处理文件中的注释信息进行格式化处理。对注释信息进行格式化处理可以帮助开发者建立规范的注释,使用正确的注释标签(tag),有助于养成良好的编程习惯,促进代码文档化的形成,提升代码可读性。
78.根据本申请的实施例,可选地,在所述根据模块匹配规则获得待处理文件的模块信息之前,还包括:使用属性properties工具配置所述第一映射文件。
79.这里首先简要描述properties工具,也可称为属性文件,是一种常用的配置文件,通过修改properties配置文件可实现批量灵活修改代码中的参数。本申请的实施例利用properties工具配置需要的映射文件(例如映射表),通过对映射表的更新维护可实现对代码注释内容的灵活控制,开发者可脱离代码本身而批量设置相关参数,例如在java文件中为“.properties文件”,采取键值对的形式进行参数配置,可减少代码维护成本,提高开发效率。
80.根据本申请的实施例,可选地,在所述基于所述模块信息以及第一映射文件,获取所述模块信息对应的注释信息之前或之后,还包括:周期性地或非周期性地更新所述第一映射文件。
81.根据本申请的实施例,可选地,所述注释信息包括以下至少一者:责任人信息、作者信息、时间信息、文件描述信息。
82.利用本申请的以上至少一个实施例,当操作者触发本申请实施例的文件注释处理过程后,可通过匹配包名前缀的方式确定文件的模块信息,然后在预配置的映射表中可查询对应的注释信息(映射表中包含模块信息与注释信息的对应关系),基于此对文件代码进行注释处理,例如新增注释、更新注释、添加注释等,能够使文件的注释信息完整、最新、格
式规范,便于对文件的长期维护。
83.以上通过实施例描述了本申请实施例的文件注释方法的实现方式,以下通过多个例子,从多个角度描述本申请实施例的实现过程。
84.i.关于注释信息的配置文件
85.以注释信息中的责任人信息为例,在本申请的一种实施方式中,可预先配置“责任人信息配置文件”,形成映射表。例如,可将责任人信息配置在“properties”文件中,以键值对(key

value)形式记录各个模块信息和对应的责任人信息,生成映射表,其中key为具体的模块信息,value为具体的责任人信息。后期若责任人信息发生变化,可修改该配置文件(责任人信息配置文件),将映射信息更新为最新的“模块

责任人”信息,基于此可批量添加或更新文件注释中的责任人信息。
86.类似地,可设置其他注释信息(例如时间信息、作者信息、文档描述信息等)的配置文件,并周期性地更新,或在需要时更新,确保配置文件中的信息准确。
87.ii.关于模块匹配规则
88.在本申请的一种实施方式中,可利用正则表达式匹配包名的方式提取代码文件的模块信息(为方便描述,以下将模块信息记为“module信息”,将注释信息记为“blame信息”)。
89.举例来说,根据java编程规定,开发人员应在定义的包名前添加唯一的前缀,一种添加方式是将公司域名作为程序包包名的唯一前缀,例如包名的格式可为“com.公司名.项目名.模块名
……”
,以下示意性地列出一些包名:
90.·
com.netease.nr.biz
91.·
com.netease.newsreader
92.·
com.netease.newsreader.activity
93.·
com.netease.newsreader.newarch
94.·
com.netease.newsreader.newarch.news
95.·
com.netease.newsreader.common
96.·
com.netease.newsreader.common.player
97.·
com.netease.newsreader.thirdsdk.api
98.在本申请的一种实施方式中,模块匹配规则可为:包名中包名前缀的后一位即为module信息。
99.示例性地,以包名“com.netease.newsreader.common.player”为例,通过正则式可以匹配到包名前缀为“com.netease.newsreader.common”,则取包名前缀的后一项“player”作为module信息。
100.进一步,对于player包下的子包,为从属于player包的模块,对此,仍然取包名前缀的后一项(也就是包名前缀之后的第一项)“player”作为子包的module信息。
101.利用上述匹配规则确定module信息,也即确定了注释信息配置文件(例如责任人信息配置文件,责任人映射信息)中的key,通过查询配置文件可确定模块信息对应的value即blame信息,在注释批量处理的过程中可将blame信息加至代码注释中或更新代码注释。
102.示例性地,在本申请的一种实施方式中,可为某些类型的文件设置默认的blame信息,如果用户在文件处理时对blame信息进行了自定义,在注释批量处理的过程中,不应毁
坏自定义的blame信息,即不对自定义的blame信息进行重置。
103.举例来说,按照相关的编码规范,某些项目的文件必须指定责任人,例如新闻项目,新闻项目的各个文件必须存在对应的责任人信息,对此可设置默认的责任人信息,假设默认的责任人为“张三”;如果用户对责任人进行了自定义,例如将责任人自定义设置为李四,则在下次注释批量处理时,不会更改用户自定义的责任人信息,即不会将责任人信息由李四重置为张三。
104.基于上述内容,以下参考图3,描述本申请一种实施方式中确定module信息的过程。
105.将应用程序的包名作为module信息的原始数据,基于这些原始数据建立“限定包名package匹配池”,该匹配池中维护多个限定的或指定的包名信息(如图3实施例中间的方框中所示)。
106.根据前述第ii点提供的模块匹配规则,当需要确定待处理文件的module信息时,利用正则表达式匹配的方式对待处理文件的包名(如图3实施例左侧的方框中所示)进行过滤,可获取到待处理文件的module信息(包名前缀后的第一个模块名)。示例性地,其中正则表达式可为例如“(.|\.)(.*?)\.”。图3实施例中多个待处理文件的module信息分别为:test1、test2、test3,等等,如图3实施例右侧的方框中所示。
107.基于上述内容,以下参考图4,描述本申请一种实施方式中配置注释信息配置文件即映射表的过程。
108.通过key

value形式创建一张关于模块的责任人等注释信息的映射表,如图4实施例中间的方框中所示。将要查询的module信息作为关键字查询映射表,找到映射信息。
109.以java文件为例,需要查询“test1”对应的blame信息,可通过bufferedreader读出文件,通过java.util.properties相关的api接口加载出映射表,将要查询的module的名字(test1)作为index查询,可找到映射信息为“小明”,如图4实施例右侧的方框中所示。
110.图5示出了本申请一种实施方式的文件注释处理流程图,具体来看:
111.首先获取待处理文件例如java代码文档的module信息;
112.然后利用module信息查询映射表,可确定module信息对应的blame信息;
113.加载映射表为properties文件,便于批量处理注释;
114.如果该java代码中已存在注释,可通过psi(program structure interface,程序结构接口)语法树解析出原有的文档注释信息,以此作为注释节点;
115.如果原有的blame信息与查询映射表得出的blame信息不同,则更新blame信息,使用查询映射表得出的blame信息替换原有的blame信息;反之,如果java代码中原有的blame信息与查询映射表得出的blame信息相同,则不替换原有的blame信息;
116.在blame信息更新完毕后,还可以通过“codestylemanager”(代码风范管理器)更新代码风范,使代码格式风格一致;此外还可以刷新本地缓存“git cache”,防止git版本管理错误。
117.操作中,可在操作面板添加“注释批量处理”功能控件,选中该功能控件可触发执行本申请实施例的注释处理方法,注释处理可包括多种类型的事件,以下示意性地列出四种注释处理事件的类型:
118.a)new_comment:新生成注释信息;
119.b)extract_comment:从已有的、系统自动生成的注释中提取信息,并添加模块/责任人信息;
120.c)update_blame:更新模块/责任人信息;
121.d)add_blame:在已有注释中添加模块/责任人信息。
122.基于以上四种注释处理的事件类型,作为示例,以下简要描述对应的注释方式:
123.●
生成责任人注释
124.在目标文件中点击右键,选择“注释批量处理”,可自动生成符合注释规范的责任人信息。
125.●
提取责任人注释
126.在目标文件中点击右键,选择“注释批量处理”,如目标文件中已有部分系统自动生成的注释信息,则使用“注释批量处理”功能可以提取并生成符合注释规范的信息。
127.●
添加责任人信息
128.在目标文件中点击右键,选择“注释批量处理”,如目标文件中已有部分注释信息,则使用“注释批量处理”功能可以保留已有注释,并添加责任人和/或模块的相关注释信息,在处理后,还会对注释格式化处理,以保证标准的标签排序。
129.●
更新责任人信息
130.在目标文件中点击右键,选择“注释批量处理”,如目标文件的责任人信息发生了变化,则通过使用“注释批量处理”功能可以将注释信息更新为最新的责任人信息,更新后,责任人信息会变为最新的信息。
131.以上描述了对一份目标文件执行“注释批量处理”的过程。除此之外,在一些实施例中,还可对多份文件(例如属于同一个业务项目的多份java文件)执行“注释批量处理”,例如批量处理责任人信息,可通过批量处理的方式对整个项目中已经建立了映射文件的java文件进行批量注释责任人信息。需要注意,由于批量注释处理较为耗时,在批量处理完毕之前各文件的责任人信息注释不会发生改变,在整个项目的各文件均注释处理完毕后,责任人信息显示为最新信息。
132.针对以上各种处理可以生成日志,日志中可包含注释处理的信息。
133.图6和7示意性地示出了利用本申请实施例的方法对文档代码进行注释处理前后的示意图。参考图中箭头所指区域,图6中示出了触发“注释批量处理”控件的状态示意图,注意到该文档中已有一句注释内容为:“created by liyunpeng on 17/7/7”。图7实施例示出了执行本申请实施例的方法后的注释信息,包括四项:author(作者)、module、blame、since(创建时间)。
134.具体来看,根据图7实施例中文档第一行所示的包名package,其中包名前缀为“com.netease.nr.biz”,则module信息为包名前缀后第一个模块名即“push”,且已知图7实施例中的module信息被配置为“责任人信息”(映射表中为责任人信息的键值对),那么对应的blame即为具体的责任人,图7中责任人为“刘昊源”。此外,注释中的author以及since是从原有注释中提取出的信息,经过格式化后再添加回注释中,呈现为图7中的规范注释。
135.利用本申请的以上至少一个实施例,可构建基于模块映射的注释处理机制,建立责任人模块映射表,可帮助开发者建立规范的文件注释,有助于将责任人机制落实到文件和实际生产中,保证每个文件都有对应的负责人维护,遇到问题时可根据注释中的信息快
速找到相关责任人进行问题处理。基于模块映射的注释处理方案可以促进代码文档化的形成,提升代码文档处理效率,提升代码可读性。
136.示例性介质
137.在介绍了本发明示例性实施方式的方法之后,接下来,参考图8对本发明示例性实施方式的介质进行说明。
138.在一些可能的实施方式中,本发明的各个方面还可以实现为一种计算机可读介质,其上存储有程序,当所述程序被处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的文件注释方法中的步骤。
139.具体地,上述处理器执行上述程序时用于实现如下步骤:
140.根据模块匹配规则获得待处理文件的模块信息;
141.基于所述模块信息以及第一映射文件,获取所述模块信息对应的注释信息,其中所述第一映射文件中包括至少一个模块信息与至少一个注释信息之间的对应关系;
142.利用获取的所述注释信息对所述待处理文件进行注释处理。
143.需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
144.如图8所示,描述了根据本发明的实施方式的介质60,其可以采用便携式紧凑盘只读存储器(cd

rom)并包括程序,并可以在设备上运行。然而,本发明不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
145.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
146.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算设备。
147.示例性装置
148.在介绍了本发明示例性实施方式的存储介质之后,接下来,参考图9对本发明示例性实施方式的装置进行说明。
149.如图9所示,本申请实施例的文件注释装置100可以包括:
150.模块信息获取模块110,用于根据模块匹配规则获得待处理文件的模块信息;
151.注释信息获取模块120,用于基于所述模块信息以及第一映射文件,获取所述模块信息对应的注释信息,其中所述第一映射文件中包括至少一个模块信息与至少一个注释信息之间的对应关系;
152.注释处理模块130,用于利用获取的所述注释信息对所述待处理文件进行注释处理。
153.根据本申请实施例的文件注释装置,如图10所示,可选地,所述模块信息获取模块110包括:
154.包名前缀确定子模块111,用于利用正则表达式匹配的方式确定所述待处理文件的包名前缀;
155.模块信息确定子模块112,用于在所述包名前缀之后具有一个模块名的情况下,或者,在所述包名前缀之后具有一个模块名以及至少一个子包名的情况下,将所述包名前缀之后的第一个模块名确定为所述模块信息。
156.根据本申请实施例的文件注释装置,可选地,所述注释处理模块包括以下至少一者:
157.第一注释处理子模块,用于基于获取的所述注释信息,在所述待处理文件中新建注释;
158.第二注释处理子模块,用于在所述待处理文件中已经包含至少一种注释信息的情况下,提取所述至少一种注释信息,并将提取的所述至少一种注释信息与获取的所述注释信息添加至所述待处理文件中;
159.第三注释处理子模块,用于在所述待处理文件中已经包含至少一种注释信息的情况下,基于获取的所述注释信息更新所述至少一种注释信息;
160.第四注释处理子模块,用于在所述待处理文件中已经包含至少一种注释信息的情况下,将获取的所述注释信息添加至所述待处理文件中。
161.根据本申请实施例的文件注释装置,可选地,所述注释处理模块还包括:格式化处理子模块,用于对所述待处理文件中的注释信息进行格式化处理。
162.根据本申请实施例的文件注释装置,可选地,还包括:配置模块,用于使用属性properties工具配置所述第一映射文件。
163.根据本申请实施例的文件注释装置,可选地,还包括:更新模块,用于周期性地或非周期性地更新所述第一映射文件。
164.根据本申请实施例的文件注释装置,可选地,所述注释信息包括以下至少一者:责任人信息、作者信息、时间信息、文件描述信息。
165.根据本申请实施例的文件注释装置,可选地,还包括:触发模块,用于响应于在待处理文件的操作界面中选中预设的功能控件,触发执行对所述待处理文件进行注释处理的过程。
166.示例性计算设备
167.在介绍了本发明示例性实施方式的方法、存储介质和装置之后,接下来,参考图11对本发明示例性实施方式的计算设备进行说明。
168.所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完
全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
169.在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理单元以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明的各种示例性实施方式的文件注释方法中的步骤。
170.下面参照图11来描述根据本发明的这种实施方式的计算设备80。图11显示的计算设备80仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
171.如图11所示,计算设备80以通用计算设备的形式表现。计算设备80的组件可以包括但不限于:上述至少一个处理单元801、上述至少一个存储单元802,连接不同系统组件(包括处理单元801和存储单元802)的总线803。
172.总线803包括数据总线、控制总线和地址总线。
173.存储单元802可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)8021和/或高速缓存存储器8022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(rom)8023。
174.存储单元802还可以包括具有一组(至少一个)程序模块8024的程序/实用工具8025,这样的程序模块8024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
175.计算设备80也可以与一个或多个外部设备804(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口805进行。并且,计算设备80还可以通过网络适配器806与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图11所示,网络适配器806通过总线803与计算设备80的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
176.应当注意,尽管在上文详细描述中提及了文件注释装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
177.此外,尽管在附图中以特定顺序描述了本发明方法的操作,但这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
178.虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1