代码的定位处理方法、装置、终端设备及存储介质与流程

文档序号:15444726发布日期:2018-09-14 23:13阅读:106来源:国知局

本申请涉及互联网技术领域,尤其涉及一种代码的定位处理方法、装置、终端设备及存储介质。



背景技术:

随着互联网技术的飞速发展,各种应用成为满足人们网络需求的基础,而随着人们需求的不断变化,应用的功能也需要不断改进,这就需要开发人员进行代码修改来完成新版本的开发。

在新版本开发过程中,相对于旧版本来说,可能会新增某些功能、删除某些功能或者修改某些功能,在新版本开发完成之后,可能需要进一步对这些功能进行改进,此时若由新的开发人员进行改进,其需要很长时间去熟悉代码框架,尤其面对软件迭代开发,各功能内容对应的代码也比较多而且比较零散,导致新的开发人员不容易找到相应功能对应的代码。

现有技术中,通常是开发人员通过逐行查找来找到修改的功能代码,时间成本和人力成本较高,导致开发效率较低。因此,如何有效查找应用功能对应的代码成为亟需解决的技术问题。



技术实现要素:

本申请提供一种代码的定位处理方法、装置、终端设备及存储介质,以解决现有技术人工逐行查找变动代码,效率低、时间成本高等缺陷。

本申请第一个方面提供一种代码的定位处理方法,包括:

获取目标应用的新版本信息和旧版本信息,所述新版本信息包括新版本界面图像和所述新版本界面图像对应的新版本前端显示层代码,所述旧版本信息包括所述目标应用对应的旧版本界面图像以及所述旧版本界面图像对应的旧版本前端显示层代码;

根据所述新版本信息和所述旧版本信息,确定所述新版本界面图像与所述旧版本界面图像的第一区别信息,以及所述新版本前端显示层代码与所述旧版本前端显示层代码的第二区别信息;

根据所述第一区别信息和所述第二区别信息,对所述新版本前端显示层代码进行定位处理。

本申请的另一个方面提供一种代码的定位处理装置,包括:

获取模块,用于获取目标应用的新版本信息和旧版本信息,所述新版本信息包括新版本界面图像和所述新版本界面图像对应的新版本前端显示层代码,所述旧版本信息包括所述目标应用对应的旧版本界面图像以及所述旧版本界面图像对应的旧版本前端显示层代码;

确定模块,用于根据所述新版本信息和所述旧版本信息,确定所述新版本界面图像与所述旧版本界面图像的第一区别信息,以及所述新版本前端显示层代码与所述旧版本前端显示层代码的第二区别信息;

处理模块,用于根据所述第一区别信息和所述第二区别信息,对所述新版本前端显示层代码进行定位处理。

本申请的再一个方面提供一种终端设备,包括:至少一个处理器和存储器;

所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现如上所述的方法。

本申请的又一个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现如上所述的方法。。

本申请提供的代码的定位处理方法、装置、终端设备及存储介质,根据新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息,对新版本前端显示层代码进行定位处理,以使开发人员快速找到新版本前端显示层代码相对旧版本前端显示层代码被修改的部分,提高开发人员的开发效率,有效节省人力成本和时间成本。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的代码的定位处理方法的流程示意图;

图2为本申请另一实施例提供的代码的定位处理方法的流程示意图;

图3为本申请一实施例提供的新旧版本界面图像对比示意图;

图4为本申请一实施例提供的对应关系示意图;

图5为本申请一实施例提供的代码的定位处理装置的结构示意图;

图6为本申请一实施例提供的终端设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先对本申请所涉及的名词进行解释:

应用:是指手机、平板电脑、台式电脑等智能终端上可安装的客户端应用程序,用于向用户显示一定的界面,并能实现与用户的交互,以实现通信、娱乐、支付等功能,比如微信、qq、支付宝等等。

前端显示层代码:是指执行后生成显示界面各显示功能的代码。

界面图像:是指通过截屏等方式获取的,应用显示界面的图像。

代码段:是指由一行或多行代码组成,并被封装为一个小整体,用于定义或描述界面上显示的一个块的属性的代码,比如由struct、model等关键字封装的一个top代码段,里面包括要显示的top的属性的定义代码,比如top在显示界面上的位置、大小、长宽等属性。

此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

实施例一

本实施例提供一种代码的定位处理方法,用于为开发人员提供代码定位,以便于开发人员快速找到被修改的代码。本实施例的执行主体为代码的定位处理装置,该装置可以设置在终端设备中,终端设备可以但不限于包括台式电脑、笔记本电脑、平板电脑。

如图1所示,为本实施例提供的代码的定位处理方法的流程示意图,该方法包括:

步骤101,获取目标应用的新版本信息和旧版本信息,新版本信息包括新版本界面图像和新版本界面图像对应的新版本前端显示层代码,旧版本信息包括目标应用对应的旧版本界面图像以及旧版本界面图像对应的旧版本前端显示层代码。

具体的,当某开发人员新加入某应用的软件开发项目,且该应用的功能已被前开发人员在旧版本的基础上进行过一定的改进,该开发人员需要了解前开发人员对旧版本前端显示层代码做了哪些修改时,可以采用本申请提供的代码的定位处理装置进行代码定位。该装置可以融合于开发项目的框架中,为开发人员提供入口,也可以独立于开发项目。该装置可以设置有与开发人员交互的界面,当开发人员需要进行代码定位时,可以将目标应用的新版本信息和旧版本信息输入或上传到该装置,该装置则可以获取目标应用的新版本信息和旧版本信息。其中,新版本信息包括新版本界面图像和新版本界面图像对应的新版本前端显示层代码,旧版本信息包括目标应用对应的旧版本界面图像以及旧版本界面图像对应的旧版本前端显示层代码。具体的,可以通过手机或电脑截屏获得目标应用的新版本界面图像和旧版本界面图像,新版本前端显示层代码和旧版本前端显示层代码可以以文本格式上传到该装置,该装置从文本中获取相应的代码。

步骤102,根据新版本信息和旧版本信息,确定新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息。

具体的,在获取到目标应用的新版本信息和旧版本信息后,则可以根据新版本信息和旧版本信息,确定新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息,即确定新版本界面图像与旧版本界面图像相比,增加了哪些部分、删除了哪些部分或者修改了哪些部分,以及确定新版本前端显示层代码与旧版本前端显示层代码相比,增加了哪些代码段、删除了哪些代码段或修改了哪些代码段。

步骤103,根据第一区别信息和第二区别信息,对新版本前端显示层代码进行定位处理。

具体的,在确定了第一区别信息和第二区别信息后,则可以根据第一区别信息和第二区别信息,对新版本前端显示层代码进行定位处理。即确定增加的、删除的或修改的代码段在新版本前端显示层代码中的位置,并将相关信息提供或显示给开发人员。

本实施例提供的代码的定位处理方法,根据新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息,对新版本前端显示层代码进行定位处理,以使开发人员快速找到新版本前端显示层代码相对旧版本前端显示层代码被修改的部分,提高开发人员的开发效率,有效节省人力成本和时间成本。

实施例二

本实施例对实施例一提供的代码的定位处理方法做进一步补充说明。

如图2所示,为本实施例提供的代码的定位处理方法的流程示意图。

作为一种可实施的方式,在上述实施例一的基础上,可选地,步骤102具体包括:

步骤1021,采用图像识别算法,对比新版本界面图像与旧版本界面图像,确定新版本界面图像与旧版本界面图像的第一区别信息。

具体的,在获取到目标应用的新版本界面图像和旧版本界面图像后,采用图像识别算法,对比新版本界面图像与旧版本界面图像,确定新版本界面图像与旧版本界面图像相比,增加了哪些部分、删除了哪些部分或者修改了哪些部分。其中,图像识别算法可以为现有技术中任意可实施的算法,具体可以是sift(scale-invariantfeaturetransform,尺度不变特征变换)算法、surf(speededuprobustfeatures,加速版的具有鲁棒性的特征)算法、brief(binaryrobustindependentelementaryfeatures,二进制鲁棒的独立基本特征)算法、orb(orientedfastandrotatedbrief,基于fast和rotatedbrief的算法)算法等等,在此不做限定。

示例性的,如图3所示,为本实施例提供的新旧版本界面图像对比示意图。新版本界面图像与旧版本界面图像相比,增加了广告模块,用于展示广告信息。

步骤1022,将新版本前端显示层代码与旧版本前端显示层代码进行逐行对比,确定新版本前端显示层代码与旧版本前端显示层代码的第二区别信息。

具体的,在获取到目标应用的新版本前端显示层代码与旧版本前端显示层代码后,则可以将新版本前端显示层代码与旧版本前端显示层代码进行逐行对比,确定新版本前端显示层代码与旧版本前端显示层代码相比,增加了哪些代码段、删除了哪些代码段或修改了哪些代码段。在对比时,可以根据预先设定的规则判断代码段的起始及结束,比如预先将常用的在代码中表示一个代码段的关键字或名称(如struct、model、top、bar等)收集整理为关键字库,设置一定的起始判断规则及结束判断规则,在满足起始判断规则时,表示一个代码段的开始,在满足结束判断规则时,表示一个代码段的结束,以此确定一个代码段,并以代码段为单位,确定新版本前端显示层代码区别于旧版本前端显示层代码的代码段。

需要说明的是,步骤1021与步骤1022为并列的步骤,没有先后顺序。

作为另一种可实施的方式,在上述实施例一的基础上,可选地,步骤103具体包括:

步骤1031,根据预设规则,确定第一区别信息和第二区别信息的对应关系。

具体的,在确定了第一区别信息和第二区别信息后,可以根据预设规则,确定第一区别信息和第二区别信息的对应关系,即确定新旧版本界面图像区别与代码段区别的对应关系。第一区别信息表示了新版本界面相对旧版本界面的显示功能的变化,第二区别信息表示正是由于这些区别的代码段导致了显示功能的变化。

步骤1032,根据第一区别信息和第二区别信息的对应关系,对新版本前端显示层代码进行定位处理。

具体的,在确定了第一区别信息和第二区别信息的对应关系后,则可以根据第一区别信息和第二区别信息的对应关系,确定增加的、删除的或修改的代码段在新版本前端显示层代码中的位置,并将相关信息提供或显示给开发人员。

可选地,步骤1031具体可以包括:

若第一区别信息包括第一图像块,第二区别信息包括一个或多个代码段,则第一图像块与一个或多个代码段对应。

若第一区别信息包括一个或多个图像块,第二区别信息包括第一代码段,则一个或多个图像块,与第一代码段对应。

若第一区别信息包括多个图像块,且第二区别信息包括多个代码段,则依次保留新版本前端显示层代码中的一个代码段,将其他代码段变换成与旧版本前端显示层代码相同,获取对应的第一界面图像,并获取第一界面图像区别于旧版本界面图像的第二图像块;则第二图像块与保留的代码段对应。

具体的,若第一区别信息包括第一图像块,第二区别信息包括一个或多个代码段,表示这一个或多个代码段的改变导致了第一图像块的改变,也即表示前开发人员在旧版本前端显示层代码的基础上,修改了这一个或多个代码段,从而导致生成的新版本界面与旧版本界面相比产生了第一图像块的区别。可以为该第一图像块设置第一标志,并将该第一标识对应导致该变化的这一个或多个代码段。

同理,若第一区别信息包括一个或多个图像块,第二区别信息包括第一代码段,表示第一代码段的改变导致了界面图像上一个或多个图像块的改变,可以设置第二标识,该第二标识对应着一个或多个图像块以及第一代码段。

若第一区别信息包括多个图像块,且第二区别信息包括多个代码段,表示新版本相对于旧版本修改地方较多,则可以依次保留新版本前端显示层代码中的一个代码段,将其他代码段变换成与旧版本前端显示层代码相同,获取对应的第一界面图像,并获取第一界面图像区别于旧版本界面图像的第二图像块,第二图像块应为多个图像块中的一个图像块;则该第二图像块与保留的代码段对应。再换一个代码段保留,重复上述过程,依此,确定各图像块与各代码段的对应关系,并进行对应标识。

可选地,也可以是依次将新版本前端显示层代码的多个代码段中的一个代码段(比如第三代码段)变化成与旧版本前端显示层代码相同,保留其他不同的代码段,获取对应的第二界面图像,并获取第二界面图像与新版本界面图像相比,多个图像块中哪个图像块变化了,比如是第三图像块变化了,则表示第三代码段与第三图像块对应。即第三代码段的变化导致第三图像块的变化。

示例性地,如图4所示,为本实施例提供的对应关系示意图。其中,情况一,如果第一区别信息中只有图像块x,第二区别信息中只有代码段y,那么界面中x是由y这个代码段变化导致的。情况二,如果第一区别信息中只有图像块x,第二区别信息中有代码段y1、y2,那么界面中的变化x是由y1、y2两个代码段导致的。情况三,如果第一区别信息中有图像块x1、x2,第二区别信息中只有代码段y,那么界面中的x1、x2都是由y这个代码段发生变化导致的。情况四,如果第一区别信息中有图像块x1、x2,第二区别信息中有代码段y1、y2,那么将y1变换为与旧版本相同,仅保留y2代码段,看x1和x2相对于新版本界面图像哪个发生了变化,若是x1发生了变化,发生变化的x1即为变换了的代码段y1导致的,而x2则是另一个y2导致的。情况五,如果第一区别信息中有图像块xi、xj…xn等多个变化点,第二区别信息中有代码段yi、yj…ym等多个不同点,则可采用上述方式,保留唯一不同的代码段或变换唯一相同的代码段,来查找对应的界面图像变化的图像块。这样界面图像变化点都可以自动查找到对应变动的代码段。

可选地,步骤1032具体可以包括:

将各图像块对应的代码段在新版本前端显示层代码中以区别于其他代码段的显示方式进行显示;或者,获取各图像块对应的代码段在新版本前端显示层代码中的位置信息,并进行显示。

具体的,在确定了变化的图像块与变化的代码段的对应关系后,则可以在新版本前端显示层代码中以区别于其他代码段的显示方式进行显示,比如将变化的代码段高亮显示,还可以根据对应关系,在对变化的代码段高亮显示的同时显示其对应的图像块标识,或直接显示对应的图像块的图像。或者,还可以生成定位文档,将区别的图像块图像及对应的标识、该图像块对应的代码段的位置信息记录如定位文档中,开发人员可以打开该定位文档进行查看。其中,代码段的位置信息可以是该代码段在新版本前端显示层代码中所在的起始行与结束行,还可以是直接将整个代码段,开发人员可以根据代码段的位置信息快速从新版本前端显示层代码中查找到该代码段。

需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。

本实施例提供的代码的定位处理方法,根据新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息,对新版本前端显示层代码进行定位处理,以使开发人员快速找到新版本前端显示层代码相对旧版本前端显示层代码被修改的部分,提高开发人员的开发效率,有效节省人力成本和时间成本。

实施例三

本实施例提供一种代码的定位处理装置,用于执行上述实施例一的代码的定位处理方法。

如图5所示,为本实施例提供的代码的定位处理装置的结构示意图。该代码的定位处理装置30包括获取模块31、确定模块32和处理模块33。

其中,获取模块31用于获取目标应用的新版本信息和旧版本信息,新版本信息包括新版本界面图像和新版本界面图像对应的新版本前端显示层代码,旧版本信息包括目标应用对应的旧版本界面图像以及旧版本界面图像对应的旧版本前端显示层代码;确定模块32用于根据新版本信息和旧版本信息,确定新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息;处理模块33用于根据第一区别信息和第二区别信息,对新版本前端显示层代码进行定位处理。

关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

根据本实施例提供的代码的定位处理装置,根据新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息,对新版本前端显示层代码进行定位处理,以使开发人员快速找到新版本前端显示层代码相对旧版本前端显示层代码被修改的部分,提高开发人员的开发效率,有效节省人力成本和时间成本。

实施例四

本实施例对上述实施例三提供的代码的定位处理装置做进一步补充说明。

作为一种可实施的方式,在上述实施例三的基础上,可选地,确定模块,具体用于:

采用图像识别算法,对比新版本界面图像与旧版本界面图像,确定新版本界面图像与旧版本界面图像的第一区别信息;将新版本前端显示层代码与旧版本前端显示层代码进行逐行对比,确定新版本前端显示层代码与旧版本前端显示层代码的第二区别信息。

作为另一种可实施的方式,在上述实施例三的基础上,可选地,处理模块,具体用于:

根据预设规则,确定第一区别信息和第二区别信息的对应关系;根据第一区别信息和第二区别信息的对应关系,对新版本前端显示层代码进行定位处理。

可选地,处理模块,具体用于:

若第一区别信息包括第一图像块,第二区别信息包括一个或多个代码段,则第一图像块与一个或多个代码段对应;若第一区别信息包括一个或多个图像块,第二区别信息包括第一代码段,则一个或多个图像块,与第一代码段对应;若第一区别信息包括多个图像块,且第二区别信息包括多个代码段,则依次保留新版本前端显示层代码中的一个代码段,将其他代码段变换成与旧版本前端显示层代码相同,获取对应的第一界面图像,并获取第一界面图像区别于旧版本界面图像的第二图像块;则第二图像块与保留的代码段对应。

可选地,处理模块,具体用于:

将各图像块对应的代码段在新版本前端显示层代码中以区别于其他代码段的显示方式进行显示;或者,获取各图像块对应的代码段在新版本前端显示层代码中的位置信息,并进行显示。

关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。

根据本实施例的代码的定位处理装置,根据新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息,对新版本前端显示层代码进行定位处理,以使开发人员快速找到新版本前端显示层代码相对旧版本前端显示层代码被修改的部分,提高开发人员的开发效率,有效节省人力成本和时间成本。

实施例五

本实施例提供一种终端设备,用于执行上述实施例提供的代码的定位处理方法。

如图6所示,为本实施例提供的终端设备的结构示意图。该终端设备50包括:至少一个处理器51和存储器52;

存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的付费处理方法。

根据本实施例的终端设备,根据新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息,对新版本前端显示层代码进行定位处理,以使开发人员快速找到新版本前端显示层代码相对旧版本前端显示层代码被修改的部分,提高开发人员的开发效率,有效节省人力成本和时间成本。

实施例六

本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的方法。

根据本实施例的计算机可读存储介质,根据新版本界面图像与旧版本界面图像的第一区别信息,以及新版本前端显示层代码与旧版本前端显示层代码的第二区别信息,对新版本前端显示层代码进行定位处理,以使开发人员快速找到新版本前端显示层代码相对旧版本前端显示层代码被修改的部分,提高开发人员的开发效率,有效节省人力成本和时间成本。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1