代码开发方法、装置、数据处理方法及电子设备与流程

文档序号:15046960发布日期:2018-07-27 22:53阅读:144来源:国知局

本发明涉及计算机软件开发领域,具体而言,涉及一种代码开发方法、装置、数据处理方法及电子设备。



背景技术:

在代码开发过程中,常需要多个开发者对同一个项目功能进行代码开发,此时,需要有一套完善的多人协作解决方法。该办法,需要能够解决多个开发者的代码之间互不影响、明确发布分支和开发分支的关联、线上问题如何快速修复并保证下一个版本发布也带上修复代码等问题。

而相关技术中,应用的解决方案是多个开发者同时切出多个功能分支,并各自在自己的功能分支上开发代码。当项目功能开发完成后,再通过项目负责人手工合并代码并解决代码间的冲突,以确保多个开发者开发的代码功能完整且互不影响。在项目计划变化的时候,还需要项目负责人拆分代码,例如:原计划上线a、b、c功能点,且a、b、c的三支功能分支已合并至测试分支,若此时只上线a、c功能点,则需要从测试分支上拆分b功能点的相关代码。拆分代码的步骤要求执行人非常系统性的熟悉代码结构,才能保证代码合并和拆分不会出问题,但在需要拆分的代码量非常大的情况下,需要花费大量的时间,且容易出错。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种代码开发方法、装置、数据处理方法及电子设备,以至少解决在多人协作进行代码开发流程中,需要拆分代码而导致耗费大量时间且易出错的技术问题。

根据本发明实施例的一个方面,提供了一种代码开发方法,包括:获取从开发分支中切出的至少一个功能分支,其中,所述至少一个功能分支为已经合并至第一测试分支的功能分支,所述第一测试分支为从所述开发分支切出的测试分支;将所述至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用所述第二测试分支对所述功能分支进行测试,其中,所述第二测试分支为从所述开发分支切出的测试分支;在测试通过后,从所述第二测试分支中切出第一发布分支,并将所述第一发布分支合并至所述开发分支。

可选的,将所述至少一个功能分支中的至少部分功能分支合并至第二测试分支之前,所述方法还包括:确定所述至少一个功能分支中发生变化的功能分支,将发生变化的功能分支作为所述至少一个功能分支中的至少部分功能分支。

可选的,所述变化包括以下之一:删除、增加、修改。

可选的,确定所述至少一个功能分支中发生变化的功能分支包括:在所述变化为从所述开发分支中删除指定功能分支时,将所述至少一个功能分支中的其他功能分支,确定为合并至所述第二测试分支的所述至少部分功能分支;其中,所述其他功能分支为:在所述至少一个功能分支中,除所述指定功能分支之外的功能分支。

可选的,从所述第二测试分支中切出第一发布分支之后,所述方法还包括:从所述第一发布分支中切出第三测试分支,并使用所述第三测试分支进行测试;在测试通过后,从所述第三测试分支中切出第二发布分支,并将所述第二发布分支合并至所述开发分支。

可选的,在使用所述第二测试分支对所述功能分支进行测试过程中,所述方法还包括:在所述至少一个功能分支出现异常时,对所述至少一个功能分支进行修复;将修复后的至少一个功能分支合并至所述第二测试分支。

根据本发明实施例的另一方面,还提供了一种数据处理方法,包括:获取第一数据和第二数据,其中,所述第二数据为所述第一数据中用于实现指定功能的数据,且所述第一数据和第二数据用于合并操作,且所述第二数据为已经采用第一测试流程进行测试的数据;采用第二测试流程对所述第二数据中的至少部分数据进行测试;在测试通过后,将所述第二数据合并至所述第一数据。

可选的,采用第二测试流程对所述第二数据中的至少部分数据进行测试之前,所述方法还包括:确定所述第二数据中发生变化的数据,将发生变化的数据作为所述第二数据中的所述至少部分数据。

根据本发明实施例的另一方面,还提供了一种代码开发装置,包括:获取模块,用于获取从开发分支中切出的至少一个功能分支,其中,所述至少一个功能分支为已经合并至第一测试分支的功能分支,所述第一测试分支为从所述开发分支切出的测试分支;测试模块,用于将所述至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用所述第二测试分支对所述功能分支进行测试,其中,所述第二测试分支为从所述开发分支切出的测试分支;合并模块,用于在测试通过后,从所述第二测试分支中切出第一发布分支,并将所述第一发布分支合并至所述开发分支。

根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的代码开发方法,或者,执行上述任意一项所述的数据处理方法。

根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的代码开发方法,或者,执行上述任意一项所述的数据处理方法。

根据本发明实施例的另一方面,还提供了一种电子设备,包括:通信模块,用于接收来自客户端设备的至少一个功能分支,其中,该功能分支为从开发分支中切出的至少一个功能分支;处理器,所述处理器运行程序,其中,所述程序运行时对于从所述通信模块输出的数据执行如下处理步骤:获取所述至少一个功能分支,其中,所述至少一个功能分支为已经合并至第一测试分支的功能分支,所述第一测试分支为从所述开发分支切出的测试分支;将所述至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用所述第二测试分支对所述功能分支进行测试,其中,所述第二测试分支为从所述开发分支切出的测试分支;在测试通过后,从所述第二测试分支中切出第一发布分支,并将所述第一发布分支合并至所述开发分支。

在本发明实施例中,采用避免拆分代码的方式,通过获取从开发分支中切出的至少一个功能分支,将至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用第二测试分支对功能分支进行测试,其中,至少一个功能分支为已经合并至第一测试分支的功能分支,上述第一测试分支、第二测试分支分别为先后从开发分支切出的测试分支;进而在测试通过后,从第二测试分支中切出第一发布分支,并将第一发布分支合并至上述开发分支,达到了代码开发项目变化时按需发布并发布后方便修复的目的,从而解决了在多人协作进行代码开发流程中,需要拆分代码而导致耗费大量时间且易出错的技术问题,进而节省了代码测试的时间,且由于减少了对人为因素的依赖,降低了代码出错概率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例1的代码开发方法的流程图;

图2是根据本发明实施例2的代码开发装置的结构图;

图3是根据本发明实施例3的数据处理方法的流程图;

图4是根据本发明实施例4的多人协作的代码开发方法的流程图;

图5是根据本发明实施例7的电子设备的结构图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

git:分布式代码管理容器,其中,该代码管理容器可以在本地和远端都保有一份相同的代码。git在应用过程中,可以实现但不限于下述功能:可以从服务器上克隆完整的git仓库到用户客户端本地;用户可以在客户端上依据不同的开发目的,创建分支并修改代码;用户可以在客户端上合并分支等。

开发分支(develop):git中用于功能开发或问题修复的分支,其中,开发人员可以在该分支上修改代码。

功能分支(feature):git中用于开发某种特定功能的分支,从开发分支上面分出来的“临时性分支”。开发完成后,功能分支可以再并入开发分支。其中,开发人员可以在该分支上修改代码。

测试分支(test):git中用于功能或问题测试的分支,其中,开发人员不可以在该分支上修改代码。

实施例1

在相关技术中,先将功能开发完成的各功能分支分别合并至第一测试分支进行测试,再将第一测试分支合并至开发分支和主分支上进行发布,但是,并未涉及在测试完成后如何对发生变化的功能分支进行再次测试的方案。针对该问题,在相关技术中往往采用从测试分支中拆分代码的方式进行再次测试,例如代码开发项目计划变化时,需要人工拆分代码,而在需要拆分的代码量非常大的情况下,需要花费大量的时间,且容易出错。

为了解决上述技术问题,本发明实施例提供了一种代码开发的方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的代码开发方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,获取从开发分支中切出的至少一个功能分支,其中,至少一个功能分支为已经合并至第一测试分支的功能分支,第一测试分支为从开发分支切出的测试分支。

上述代码开发方法可以通过分布式代码管理容器git进行。其中,在开发者有多个的情况下,可以先从主分支(master)切出开发分支(develop),然后从开发分支切出多个功能分支,如第一功能分支、第二功能分支和第三功能分支,以下简称featurea、featureb、featurec。多个开发者分别在上述各功能分支上进行功能开发,对应开发的功能分别为a、b、c。

同时,从开发分支中切出第一测试分支(test1),其中,第一测试分支既可以在功能开发完成后从开发分支切出,也可以在切出功能分支时一并切出,本实施例中对第一测试分支的切出时机不做限制。

其中从开发分支中切出至少一个功能分支,可以为复制开发分支以得到至少一个功能分支,即,上述切出的动作可以为复制。

功能开发完成后,可以将上述各功能分支featurea、featureb、featurec分别合并至第一测试分支进行测试。

测试通过后,可以将第一测试分支分别合并至开发分支和主分支上,并通过相关发布流程使得新开发的功能发布到线上环境。

故在功能发布之前,代码开发过程中,如果各功能分支功能开发已完成并已分别合并至第一测试分支,在代码开发项目计划变化时,可以先获取从开发分支中切出的,与上述变化相关的至少一个功能分支。其中,上述至少一个功能分支可以为已经合并至第一测试分支的功能分支。

步骤s104,将至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用第二测试分支对功能分支进行测试,其中,第二测试分支为从开发分支切出的测试分支。

如上,在功能分支发布之前,代码开发过程中,当代码开发项目计划发生变化时,而此时为各功能分支功能开发已完成并已分别合并至第一测试分支的情况,即功能a、b、c对应的功能分支featurea、featureb、featurec均已合并至第一测试分支。则可以从开发分支切出新的测试分支,即第二测试分支test2,再将与变化相关的部分功能分支分别合并至第二测试分支进行测试。

上述在项目计划变化时,将部分相关功能分支合并至第二测试分支进行测试的方式,与相关技术中需要从测试分支中拆出部分功能分支的方式相比,可以避免代码拆分所带来的耗时且易出错的情况,进一步保证了代码开发完成后的按需发布。

步骤s106,在测试通过后,从第二测试分支中切出第一发布分支,并将第一发布分支合并至开发分支。

通过上述步骤,在代码开发过程中代码开发项目计划发生变化时,对各功能分支及第二测试分支做相应的调整,进而通过第二测试分支对需要上线的功能分支进行测试。在测试通过后,可以从第二测试分支中切出第一发布分支(release1),其中第一发布分支可以用来对调整后的开发代码进行发布。同时,可以将第一发布分支合并至开发分支,用于完成一个开发流程的循环。

在本发明实施例中,采用避免拆分代码的方式,通过获取从开发分支中切出的至少一个功能分支,将至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用第二测试分支对功能分支进行测试,其中,至少一个功能分支为已经合并至第一测试分支的功能分支,第一测试分支、第二测试分支分别为先后从开发分支切出的测试分支;进而在测试通过后,从第二测试分支中切出第一发布分支,并将第一发布分支合并至上述开发分支,达到了代码开发项目变化时按需发布并发布后方便修复的目的,从而解决了在多人协作进行代码开发流程中,需要拆分代码而导致耗费大量时间且易出错的技术问题,进而节省了代码测试的时间,且由于减少了对人为因素的依赖,降低了代码出错概率。

为确保代码开发项目计划发生变化时,做出的相应代码调整不发生错误,优选的,在步骤s104,将至少一个功能分支中的至少部分功能分支合并至第二测试分支之前,该方法还可以包括如下步骤:

步骤s107,确定至少一个功能分支中发生变化的功能分支,将发生变化的功能分支作为至少一个功能分支中的至少部分功能分支。

在代码开发过程中,当项目计划发生变化时,如其中之一的要求为调整功能b,其对应的功能分支为featureb,则确定featureb为至少一个功能分支中发生变化的功能分支,进而将featureb作为上述至少一个功能分支中的至少部分功能分支,合并至第二测试分支,进行后续测试及发布。

可选的,上述变化可以包括以下之一:删除、增加、修改。

优选的,步骤s107中,确定至少一个功能分支中发生变化的功能分支,可以包括如下步骤:

步骤s1071,在变化为从开发分支中删除指定功能分支时,将至少一个功能分支中的其他功能分支,确定为合并至第二测试分支的至少部分功能分支;其中,其他功能分支为:在至少一个功能分支中,除指定功能分支之外的功能分支。

当代码开发项目计划发生的变化为删除某个功能时,如要求功能分支featureb对应的功能b不上线时,而此时为各功能分支功能开发已完成并已分别合并至第一测试分支的情况,即功能a、b、c对应的功能分支featurea、featureb、featurec均已合并至第一测试分支。可以从开发分支切出新的测试分支,即第二测试分支,将除指定功能分支featureb之外的功能分支featurea和featurec,确定为合并至第二测试分支的至少部分功能分支,再将不需要删除的功能a和c对应的功能分支featurea、featurec,分别合并至第二测试分支进行测试。

可选的,上述变化还可以为增加。即当项目计划发生的变化为增加某个功能时,如要求增加功能d,则从开发分支中切出新的功能分支featured,在功能a、b、c对应的功能分支featurea、featureb、featurec均已合并至第一测试分支的情况下,可以从开发分支切出新的第二测试分支,将包括featured的所有功能分支featurea、featureb、featurec、featured,分别合并至第二测试分支进行测试。

可选的,上述变化还可以为修改。即当项目计划发生的变化为修改某个功能时,如在功能a、b、c对应的功能分支featurea、featureb、featurec均已合并至第一测试分支的情况下,又要求对功能c进行修改时,可以在功能分支featurec中进行相应的修改,再将修改后的featurec及其他未修改的功能分支featurea、featureb,分别合并至第二测试分支进行测试。

上述在项目计划变化时,将与变化相关的部分功能分支合并至第二测试分支进行测试的方式,与相关技术中需要从测试分支中拆出部分功能分支的方式相比,可以避免代码拆分所带来的耗时且易出错的情况,进一步保证了代码开发完成后的按需发布。

进一步的,为了便于上线后修复,优选的,在步骤s106,从第二测试分支中切出第一发布分支之后,该方法还可以包括如下步骤:

步骤s108,从第一发布分支中切出第三测试分支,并使用第三测试分支进行测试;

步骤s109,在测试通过后,从第三测试分支中切出第二发布分支,并将第二发布分支合并至开发分支。

其中,根据第一发布分支进行线上发布后,如果在用户使用过程中出现相关问题,可以在发布前最后一次切出的发布分支中切出第三测试分支,进而在第三测试分支上进行问题修复,并进行测试。在发布前最后一次切出的发布分支为第一发布分支时,即在第一发布分支中切出第三测试分支(test3),并使用第三测试分支进行测试。

在测试通过后,可以从第三测试分支中切出第二发布分支(release2),其中第二发布分支可以用来对修复后的开发代码进行发布。同时,可以将第二发布分支合并至开发分支,用于完成包含上线后修复流程的循环。

针对代码开发过程中,测试分支在对功能分支进行测试时常出现问题的情况,优选的,在步骤s104中,使用第二测试分支对功能分支进行测试,可以包括如下步骤:

步骤s1041,在至少一个功能分支出现异常时,对至少一个功能分支进行修复;

步骤s1042,将修复后的至少一个功能分支合并至第二测试分支。

如在测试分支在对功能分支进行测试过程中功能分支featurea和featureb出现问题时,可以直接在featurea和featureb上面修复,修复之后再重新将featurea、featureb、featurec分别合并至第二测试分支。

在测试中出现bug时,在相应的功能分支上面进行修复,再合并至相应测试分支的方式,为在功能分支上进行对应功能点的bug修复,而不是在测试分支进行bug修复。该方式可以保证对应功能点的bug修复持续保持,而不会随着测试分支的变更或消失而发生变更或消失,进而做到了在根源上进行bug的修复,避免了因代码开发流程的变化而修复发生变化的问题。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述实施例1的代码开发装置,图2是根据本发明实施例的代码开发装置的结构图,如图2所示,该装置包括:获取模块22,测试模块24,合并模块26,其中:

获取模块22,用于获取从开发分支中切出的至少一个功能分支,其中,至少一个功能分支为已经合并至第一测试分支的功能分支,第一测试分支为从开发分支切出的测试分支;

测试模块24,连接于上述获取模块22,用于将至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用第二测试分支对功能分支进行测试,其中,第二测试分支为从开发分支切出的测试分支;

合并模块26,连接于上述测试模块24,用于在测试通过后,从第二测试分支中切出第一发布分支,并将第一发布分支合并至开发分支。

在本发明实施例中,采用上述代码开发装置,通过获取模块22获取从开发分支中切出的至少一个功能分支,及利用测试模块24将至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用第二测试分支对功能分支进行测试,其中,上述至少一个功能分支为已经合并至第一测试分支的功能分支,上述第一测试分支、第二测试分支分别为先后从开发分支切出的测试分支;进而再根据合并模块26,在测试通过后,从第二测试分支中切出第一发布分支,并将第一发布分支合并至上述开发分支,达到了代码开发项目变化时按需发布并发布后方便修复的目的,从而解决了在多人协作进行代码开发流程中,需要拆分代码而导致耗费大量时间且易出错的技术问题,进而节省了代码测试的时间,且由于减少了对人为因素的依赖,降低了代码出错概率。

其中,上述获取模块22,测试模块24,和合并模块26,对应于实施例1中的步骤s102至步骤s106。

优选的,上述装置还可以包括:确定模块,连接于上述获取模块22和测试模块24,用于在将至少一个功能分支中的至少部分功能分支合并至第二测试分支之前,确定至少一个功能分支中发生变化的功能分支,将发生变化的功能分支作为至少一个功能分支中的至少部分功能分支。

其中,上述确定模块,对应于实施例1中的步骤s107。

可选的,上述变化可以包括以下之一:删除、增加、修改。

优选的,上述确定模块可以包括:确定单元,用于在变化为从开发分支中删除指定功能分支时,将至少一个功能分支中的其他功能分支,确定为合并至第二测试分支的至少部分功能分支;其中,其他功能分支为:在至少一个功能分支中,除指定功能分支之外的功能分支。

其中,上述确定单元,对应于实施例1中的步骤s1071。

优选的,上述装置还可以包括:第三测试分支切出模块、第二发布分支切出模块,其中:

第三测试分支切出模块,连接于上述合并模块26,用于从第二测试分支中切出第一发布分支之后,从第一发布分支中切出第三测试分支,并使用第三测试分支进行测试;

第二发布分支切出模块,连接于上述第三测试分支切出模块,用于在测试通过后,从第三测试分支中切出第二发布分支,并将第二发布分支合并至开发分支。

其中,上述第三测试分支切出模块和第二发布分支切出模块,对应于实施例1中的步骤s108和s109。

优选的,上述测试模块24可以包括:修复单元,合并单元,其中:

修复单元,用于在至少一个功能分支出现异常时,对至少一个功能分支进行修复;

合并单元,连接于上述修复单元,用于将修复后的至少一个功能分支合并至第二测试分支。

此处需要说明的是,上述所有模块和单元,与对应的实施例1中的步骤所实现的实例和应用场景均可以相同,但不限于上述实施例1所公开的内容。

实施例3

在本发明实施例中,还提供了一种数据处理方法,图3是根据本发明实施例的数据处理方法的流程图,如图3所示,该方法包括如下步骤:

步骤s302,获取第一数据和第二数据,其中,第二数据为第一数据中用于实现指定功能的数据,第一数据和第二数据用于合并操作,且第二数据为已经采用第一测试流程进行测试的数据。

上述数据处理方法可以应用在git中,其中,第一数据可以为开发分支,第二数据可以为至少一个功能分支,上述至少一个功能分支可以为从上述开发分支中切出的,用于实现指定功能的功能分支。

需要说明的是,上述至少一个功能分支可以为第一功能分支、第二功能分支和第三功能分支,以下简称featurea、featureb、featurec。多个开发者可以分别在上述各功能分支上进行相应的功能a、b、c的开发。

其中,从开发分支中切出至少一个功能分支,可以为复制开发分支以得到至少一个功能分支,即,上述切出的动作可以为复制。

在上述功能a、b、c开发完成后,可以将上述第二数据,即各功能分支featurea、featureb、featurec采用第一测试流程进行测试。其中,第一测试流程可以通过第一测试分支来完成,上述第一测试分支可以为从开发分支中切出的,即第一测试分支也可以为第一数据中用于实现指定功能的数据。

测试完成后,可以将第一数据和第二数据进行合并操作,即可以将开发分支和各功能分支合并。其中,合并的方式有多种,可以在对各功能分支进行测试的过程中,先将各功能分支并入第一测试分支,再将第一测试分支合并入开发分支;也可以直接将各功能分支合并入开发分支。

步骤s304,采用第二测试流程对第二数据中的至少部分数据进行测试。

再将上述第一数据和第二数据进行合并后,即,将开发分支和各功能分支合并后,还可以采用第二测试流程对第二数据中的至少部分数据进行测试,其中,第二测试流程可以通过第二测试分支来完成,上述第二测试分支也可以为从开发分支中切出的,即第二测试分支也可以为第一数据中用于实现指定功能的数据。

步骤s306,在测试通过后,将第二数据合并至第一数据。

测试完成后,可以再次将第一数据和第二数据进行合并操作,即可以将开发分支和经过第二测试流程测试通过后的各功能分支合并。其中,合并的方式也可以有多种,可以在对至少部分功能分支进行测试的过程中,先将各功能分支并入第二测试分支,再将第二测试分支合并入开发分支;也可以直接将各功能分支合并入开发分支。

在本发明实施例中,采用将第一数据和第二数据合并操作的方式,通过获取第一数据和第二数据,其中,第二数据为第一数据中用于实现指定功能的数据,且第二数据为已经采用第一测试流程进行测试的数据;采用第二测试流程对第二数据中的至少部分数据进行测试;在测试通过后,将第二数据合并至第一数据。在代码开发领域,本发明实施例中的数据处理方法可以解决在多人协作进行代码开发流程中,需要拆分代码而导致耗费大量时间且易出错的技术问题,进而节省了代码测试的时间,且由于减少了对人为因素的依赖,降低了代码出错概率。

优选的,在步骤s304,采用第二测试流程对第二数据中的至少部分数据进行测试之前,该方法还可以包括如下步骤:

步骤s308,确定第二数据中发生变化的数据,将发生变化的数据作为第二数据中的至少部分数据。

上述数据处理方法应用在代码开发过程中,当开发计划发生变化时,如其中之一的要求为调整功能b,其对应的第二数据为功能分支featureb,则确定featureb为将发生变化的数据,即第二数据中的至少部分数据,进而将featureb作为上述第二数据中的至少部分数据,采用第二测试流程对其进行后续测试。

可选的,上述变化可以包括以下之一:删除、增加、修改。

实施例4

相关技术中,代码开发项目计划变化时,需要人工拆分代码,而在需要拆分的代码量非常大的情况下,需要花费大量的时间,且容易出错。

为了解决上述技术问题,本发明实施例还提供了一种多人协作的代码开发方法,图4是根据本发明实施例的多人协作的代码开发方法的流程图,如图4所示,该方法包括如下步骤:

步骤s402,从开发分支切出多个功能分支,并在上述各功能分支上分别进行功能开发。

其中,上述多个功能分支可以为featurea、featureb、featurec。

步骤s404,功能开发完成后从开发分支切出第一测试分支,并将上述各功能分支分别合并至第一测试分支进行测试。

其中,第一测试分支既可以在功能开发完成后从开发分支切出,也可以在切出功能分支时一并切出,此处对第一测试分支的切出时机不做限制。

且在测试中出现问题时,可以在功能分支上面进行问题修复,再将上述各功能分支合并至第一测试分支。其中,可以根据需要上线的具体功能进行合并,如需要上线功能a和b,则将功能分支featurea、featureb分别合并至第一测试分支进行测试即可。

步骤s406,当项目计划发生变化时,对相应功能分支作出调整,并切出新的第二测试分支,将变化后需要上线的功能分支分别合并至第二测试分支进行测试。

即,如项目计划发生变化为要求功能b不上线时,而此时功能a、b、c均已合并至第一测试分支,为避免相关技术中从第一测试分支拆出已合并的功能分支featureb,而导致的代码拆出引起的技术缺陷,可以从开发分支切出第二测试分支,将需要上线的功能分支featurea、featurec分别合并至第二测试分支进行测试。

步骤s408,测试完成后,从第二测试分支切出第一发布分支发布上线。

同时,上线完成后将第一发布分支合并至开发分支以完成一个开发流程循环。

步骤s410,线上环境出现问题时,从距离问题出现时间最近的线上分支切出第三测试分支进行问题修复和测试,并在测试通过后从第三测试分支切出第二发布分支发布上线。

同时,上线完成后将第二发布分支合并至上述开发分支。

其中,线上环境出现问题可以为开发的功能上线后,用户使用中出现问题。

其中,上述距离问题出现时间最近的线上分支可以为第一发布分支。

实施例5

根据本发明实施例的另一方面,还提供了一种存储介质,其中,该存储介质包括存储的程序,其中,在上述程序运行时控制存储介质所在设备执行上述任意一项的代码开发方法,或者,执行上述任意一项的数据处理方法。

实施例6

根据本发明实施例的另一方面,还提供了一种处理器,其中,该处理器用于运行程序,其中,程序运行时执行上述任意一项的代码开发方法,或者,执行上述任意一项的数据处理方法。

实施例7

根据本发明实施例的另一方面,还提供了一种电子设备,图5是根据本发明实施例的电子设备的结构图,如图5所示,该电子设备包括:通信模块52,处理器54,其中:

通信模块52,用于接收来自客户端设备的至少一个功能分支,其中,该功能分支为从开发分支中切出的至少一个功能分支;

处理器54,连接于上述通信模块52,用于运行程序,其中,上述程序运行时对于从通信模块52输出的数据执行如下处理步骤:获取至少一个功能分支,其中,至少一个功能分支为已经合并至第一测试分支的功能分支,第一测试分支为从开发分支切出的测试分支;将至少一个功能分支中的至少部分功能分支合并至第二测试分支,并使用第二测试分支对功能分支进行测试,其中,第二测试分支为从开发分支切出的测试分支;在测试通过后,从第二测试分支中切出第一发布分支,并将第一发布分支合并至开发分支。

本发明实施例中的电子设备,通过通信模块52,接收来自客户端设备的至少一个功能分支,其中,该功能分支为从开发分支中切出的至少一个功能分支;进而再通过处理器54运行上述程序。进而通过本发明实施例,可以实现在代码开发过程中,在服务器侧,达到代码开发项目变化时按需发布并发布后方便修复的目的,从而解决了在多人协作进行代码开发流程中,需要拆分代码而导致耗费大量时间且易出错的技术问题,进而节省了代码测试的时间,且由于减少了对人为因素的依赖,降低了代码出错概率。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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