发明内容
有鉴于此,本申请提供一种代码评审过程中的代码显示方法和装置。
具体地,本申请是通过如下技术方案实现的:
一种代码评审过程中的代码显示方法,所述方法包括:
获取目标代码文件的文件标识;
查找缺陷数据库中是否存在匹配所述文件标识的缺陷信息;
当存在匹配所述文件标识的缺陷信息时,在所述目标代码文件中标记与所述缺陷信息关联的代码;
显示标记后的目标代码文件。
可选的,所述在所述目标代码文件中标记与所述缺陷信息关联的代码,包括:
获取所述缺陷信息中的代码位置信息;
为所述目标代码文件中匹配所述代码位置信息的代码设置区别于其他代码的显示参数。
可选的,所述在所述目标代码文件中标记与所述缺陷信息关联的代码,包括:
获取所述缺陷信息中的代码位置信息;
为所述目标代码文件中匹配所述代码位置信息的代码添加指向所述缺陷信息的链接。
可选的,所述方法还包括:
当匹配所述文件标识的缺陷信息有多条时,整合所述多条缺陷信息;
将整合后的信息添加到所述目标代码文件中。
可选的,所述缺陷数据库由测试人员基于缺陷管理工具维护。
一种代码评审过程中的代码显示装置,所述装置包括:
标识获取单元,获取目标代码文件的文件标识;
缺陷查找单元,查找缺陷数据库中是否存在匹配所述文件标识的缺陷信息;
代码标记单元,当存在匹配所述文件标识的缺陷信息时,在所述目标代码文件中标记与所述缺陷信息关联的代码;
代码显示单元,显示标记后的目标代码文件。
可选的,所述代码标记单元,具体获取所述缺陷信息中的代码位置信息,并为所述目标代码文件中匹配所述代码位置信息的代码设置区别于其他代码的显示参数。
可选的,所述代码标记单元,具体获取所述缺陷信息中的代码位置信息,并为所述目标代码文件中匹配所述代码位置信息的代码添加指向所述缺陷信息的链接。
可选的,所述装置还包括:
缺陷整合单元,在匹配所述文件标识的缺陷信息有多条时,整合所述多条缺陷信息;
整合显示单元,将整合后的信息添加到所述目标代码文件中。
可选的,所述缺陷数据库由测试人员基于缺陷管理工具维护。
由以上描述可以看出,本申请可以在缺陷数据库中存在匹配目标代码文件文件标识的缺陷信息时,在所述目标代码文件中标记与所述缺陷信息关联的代码,从而关联缺陷管理和代码评审,以便评审人员在进行代码评审时能够根据标记识别缺陷代码,从而可以对缺陷代码进行重点评审,提高代码评审的效率和质量。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本申请一示例性实施例示出的一种代码评审过程中的代码显示方法的流程图。
请参考图1,所述代码评审过程中的代码显示方法可以应用在终端设备中,所述终端设备可以包括智能手机、平板电脑、PDA(Personal DigitalAssistant,掌上电脑)、PC机等智能设备,所述代码显示方法可以理解为所述终端设备中装载的代码评审工具执行的处理逻辑,包括以下步骤:
步骤101,获取目标代码文件的文件标识。
在本实施例中,所述目标代码文件为评审人员要评审的代码文件,评审人员可以在代码评审工具中输入所述目标代码文件的文本标识,所述文件标识通常为文件名、文件ID等。代码评审工具可以获取评审人员输入的所述文件标识。
步骤102,查找缺陷数据库中是否存在匹配所述文件标识的缺陷信息,如果存在匹配所述文件标识的缺陷信息,则执行步骤103。
在本实施例中,所述缺陷数据库通常由测试人员基于缺陷管理工具进行维护。其中,所述缺陷管理工具可以用于记录代码的缺陷,比如:当测试人员发现代码存在缺陷时,可以通过所述缺陷管理工具记录发现的缺陷并保存到缺陷数据库中,后续相关人员可以从缺陷数据库中获取记录的缺陷信息,并根据所述缺陷信息对代码进行相应的修改。
可选的,在一个例子中,测试人员在发现代码缺陷时,可以记录该代码所属的应用名称、所属的文件名称、代码位置信息、缺陷ID、缺陷描述以及附加属性等缺陷信息,并可以在录入完毕后,通过保存功能将记录的所述缺陷信息保存到缺陷数据库中。
应用名称 |
文件名称 |
代码位置 |
缺陷ID |
缺陷描述 |
附加属性 |
应用A |
A.java |
100行 |
0 |
影响**业务 |
Func A |
应用B |
B.CPP |
200行 |
1 |
存在性能问题 |
Func B |
应用C |
C.JS |
500行 |
2 |
存在安全问题 |
Func C |
… |
… |
… |
… |
… |
… |
表1
请参考表1的示例,本申请一实施例中缺陷信息示意表,所述应用名称通常为应用程序的名称,比如:支付宝、手机淘宝等。所述文件名称通常为所述应用程序代码所在文件的名称,一般而言,一个应用程序可能包括有多个代码文件,比如:CPP文件、JS文件等。所述代码位置通常为代码所在的行位置,比如:100行、200行等。所述缺陷ID为相关缺陷的编号。所述缺陷描述通常为测试人员针对当前缺陷可能产生的问题进行的描述,可供后续相关人员进行参考。所述附加属性用于记录其他信息,比如:相关函数、异常的关键字等。值得注意的是,表1仅为示例性的说明,在实际应用中,也可以不组织这样的表格,本申请对此不作特殊限制。
基于前述步骤101,在获取到目标代码文件的文件标识后,可以根据所述文件标识遍历所述缺陷数据库,查找是否存在匹配所述文件标识的缺陷信息,当存在匹配所述文件标识的缺陷信息时,可以执行步骤103。当不存在匹配所述文件标识的缺陷信息时,可以结束本申请的后续流程,显示所述文本标识对应的目标代码文件。
步骤103,当存在匹配所述文件标识的缺陷信息时,在所述目标代码文件中标记与所述缺陷信息关联的代码。
基于前述步骤102的查找结果,当缺陷数据库中存在匹配所述文件标识的缺陷信息时,在所述目标代码文件中标记与所述缺陷信息关联的代码,比如:高亮标记与所述缺陷信息关联的代码,为与所述缺陷信息关联的代码添加批注、链接等。
步骤104,显示标记后的目标代码文件。
基于前述步骤103,在标记所述目标代码文件中与所述缺陷信息关联的代码后,可以显示标记后的目标代码文件,以供评审人员对所述目标代码文件进行评审。
由以上描述可以看出,本申请可以在缺陷数据库中存在匹配目标代码文件文件标识的缺陷信息时,在所述目标代码文件中标记与所述缺陷信息关联的代码,从而关联缺陷管理和代码评审,以便评审人员在进行代码评审时能够根据标记识别缺陷代码,从而可以对缺陷代码进行重点评审,提高代码评审的效率和质量。
可选的,在本申请一个例子中,请参考图2,在目标代码文件中标记与缺陷信息关联的代码,可以包括以下步骤:
步骤201,获取缺陷信息中的代码位置信息。
在本实施例中,当缺陷数据库中存在匹配文件标识的缺陷信息时,可以先获取所述缺陷信息中的代码位置信息。仍以表1为例,假设目标代码文件为A.java,则可以确定在表1所示的缺陷信息中,第一条缺陷信息匹配所述目标代码文件,则可以获取代码位置信息:100行。
步骤202,为目标代码文件中匹配所述代码位置信息的代码设置区别于其他代码的显示参数。
基于前述步骤201,在获取到所述代码位置信息后,可以为目标代码文件中匹配所述代码位置信息的代码设置区别于其他代码的显示参数。其中,所述显示参数包括:字体、字号、是否加粗、是否倾斜、是否突出显示以及突出显示的颜色等。当然,在实际应用中,也可以针对其他类别的显示参数进行设置,比如:添加下划线等,本申请对此不作特殊限制。
举例来说,仍以前述步骤201中的例子为例,在本步骤中,可以为所述目标代码文件中第100行代码设置黄色突出显示。
可选的,在本申请另一个例子中,请参考图3,在目标代码文件中标记与缺陷信息关联的代码,可以包括以下步骤:
步骤301,获取缺陷信息中的代码位置信息。
在本实施例中,本步骤可以参考前述步骤201的方式实现,在此不再一一赘述。
步骤302,为目标代码文件中匹配所述代码位置信息的代码添加指向所述缺陷信息的链接。
基于前述步骤201,在获取到所述代码位置信息后,可以为目标代码文件中匹配所述代码位置信息的代码添加指向所述缺陷信息的链接,比如:可以以批注的形式添加指向所述缺陷信息的链接等。其中,所述链接可以为指向所述缺陷信息的URL(Uniform Resource Locator,统一资源定位符),评审人员可以通过所述链接访问缺陷数据库中保存的所述缺陷信息,进而可以查看所述缺陷信息的详细情况。
可选的,在本申请另一个例子中,当缺陷数据库中匹配文件标识的缺陷信息有多条时,还可以整合匹配的多条缺陷信息,并将整合后的信息添加到所述目标代码文件中。在一个例子中,可以统计缺陷数据库中匹配所述文件标识的缺陷信息的数量,将所述数量添加到目标代码文件中,比如:将所述数据添加到目标代码文件的首页中。在另一个例子中,可以汇总匹配所述文件标识的所有缺陷信息中的缺陷描述,并将汇总后的缺陷描述条件到目标代码文件中。当然,在实际应用中,还可以采用其他方式整合缺陷数据库中匹配所述文件标识的多条缺陷信息,本申请对此不作特殊限制。
与前述代码评审过程中的代码显示方法的实施例相对应,本申请还提供了代码评审过程中的代码显示装置的实施例。
本申请代码评审过程中的代码显示装置的实施例可以应用在终端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在终端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请代码评审过程中的代码显示装置所在终端的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的终端通常根据该终端的实际功能,还可以包括其他硬件,对此不再赘述。
图5是本申请一示例性实施例示出的一种代码评审过程中的代码显示装置的结构示意图。
请参考图5,所述代码评审过程中的代码显示装置400可以应用在前述图4所示的终端中,包括有:标识获取单元401、缺陷查找单元402、代码标记单元403、代码显示单元404、缺陷整合单元405以及整合显示单元406。
其中,所述标识获取单元401,获取目标代码文件的文件标识;
所述缺陷查找单元402,查找缺陷数据库中是否存在匹配所述文件标识的缺陷信息;
所述代码标记单元403,当存在匹配所述文件标识的缺陷信息时,在所述目标代码文件中标记与所述缺陷信息关联的代码;
所述代码显示单元404,显示标记后的目标代码文件。
可选的,所述代码标记单元403,具体获取所述缺陷信息中的代码位置信息,并为所述目标代码文件中匹配所述代码位置信息的代码设置区别于其他代码的显示参数。
可选的,所述代码标记单元403,具体获取所述缺陷信息中的代码位置信息,并为所述目标代码文件中匹配所述代码位置信息的代码添加指向所述缺陷信息的链接。
所述缺陷整合单元405,在匹配所述文件标识的缺陷信息有多条时,整合所述多条缺陷信息;
所述整合显示单元406,将整合后的信息添加到所述目标代码文件中。
可选的,所述缺陷数据库由测试人员基于缺陷管理工具维护。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。