本发明实施例涉及软件开发,尤其涉及一种项目代码处理方法、装置、电子设备及存储介质。
背景技术:
1、随着软件开发项目的持续迭代演进,为了完成不同的产品定制需求,会产生很多的分支迭代版本,同一个项目的各个分支迭代版本彼此之间都会存在相应的独有功能,同一个项目的每个分支迭代版本都会有主体功能的增加或减少,也即,同一项目的各代码版本之间都会存在相应的差异点,因此,每个分支迭代版本代码需要不断地新建代码分支。
2、图1是现有技术中管理同一项目不同分支迭代版本代码的效果示意图。在一个具体的例子中,如图1所示,目前现有技术通过对同一项目不同分支迭代版本代码切多个git(一个免费和开源的分布式版本控制系统)分支的方式进行管理。在该技术中,当一个项目生命周期较长或该项目的用户体量到达一定层度时,同一个项目往往需要同时维护着多个项目分支,其本质上也就相当于同时维护着多套项目代码。当需要使用或处理某一个项目分支时,可以直接从维护的多个项目分支中定位并获取相应整套的项目代码。
3、图2是现有技术中通过切多个git分支管理项目代码进行开发时各代码分支相互影响的效果示意图。在一个具体的例子中,如图2所示,发明人在实现本发明的过程中,发现现有通过切多个git分支管理项目代码的技术存在如下缺陷:当每个项目分支迭代版本出现需求增加、迭代bug(故障)修复或迭代共享需求时,往往都需要对相同的一段代码逻辑重复开发多次,或者使用git的merge(合并)等形式进行功能同步,在代码开发工作量方面将会面对成量的代码冲突以及重复的代码开发工作,每次项目开发都需要在多个项目分支中往返,极易造成代码开发混乱,会极大地浪费项目迭代时间和项目开发资源,降低项目代码的开发效率。同时,开发者需要同时维护多套代码项目,本地的分支代码管理维护成本极高。
技术实现思路
1、本发明实施例提供一种项目代码处理方法、装置、电子设备及存储介质,能够降低项目代码的维护成本,提高维护项目代码的智能性,进而提高开发人员的代码开发效率。
2、根据本发明的一方面,提供了一种项目代码处理方法,包括:
3、响应于版本差异代码获取指令,获取目标版本差异代码;其中,所述版本差异代码获取指令包括动态组件引入指令;
4、确定所述目标版本差异代码匹配的当前项目代码;
5、响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码插入指令包括动态组件插入指令。
6、本发明实施例通过对同一项目的不同分支代码仅存储差异代码,并在接收到版本差异代码获取指令时,响应于版本差异代码获取指令,获取目标版本差异代码,进一步确定目标版本差异代码匹配的当前项目代码,以响应于动态组件引入指令等类型的版本差异代码插入指令,将目标版本差异代码插入至当前项目代码,得到目标项目分支代码,解决现有项目代码管理维护时存在的开发维护成本高和开发效率低等问题,能够降低项目代码的维护成本,提高维护项目代码的智能性,进而提高开发人员的代码开发效率。
7、可选的,所述获取目标版本差异代码,包括:
8、响应于所述动态组件引入指令,确定所述动态组件引入指令匹配的目标数据对象;
9、调用所述目标数据对象,获取所述目标版本差异代码的目标差异代码访问路径;
10、访问所述目标差异代码访问路径,获取所述目标版本差异代码。
11、由于通过目标数据对象存储了目标版本差异代码的目标差异代码访问路径。因此,目标版本差异代码可以按需存储至任意文件夹中,只要该文件夹具有被管理项目代码的项目访问的权限即可。如此,当通过动态组件指示插入目标版本差异代码时,即可通过目标数据对象存储的目标差异代码访问路径快速获取目标版本差异代码。
12、可选的,所述获取所述目标版本差异代码的目标差异代码访问路径,包括:
13、调用所述目标数据对象以获取所述目标版本差异代码的差异代码相对路径;
14、获取所述目标版本差异代码的代码文件名;
15、对所述差异代码相对路径和所述目标版本差异代码的代码文件名进行拼接,得到所述目标差异代码访问路径。
16、上述技术方案,通过调用目标数据对象可以快速获取目标版本差异代码的目标差异代码访问路径,提高了目标差异代码访问路径获取的灵活性和高效性。
17、可选的,所述版本差异代码获取指令还包括判断语句获取指令,所述获取目标版本差异代码,还包括:
18、响应于所述判断语句获取指令,获取所述判断语句获取指令包括的目标环境变量值;
19、根据所述目标环境变量值从本地存储的代码版本信息中读取所述目标版本差异代码。
20、上述技术方案,针对差异较小的版本差异代码,通过判断语句获取指令获取对应的版本差异代码信息,可以无需对版本差异代码单独存储代码文件,不仅能够节省项目代码的开发空间资源,而且可以提高版本差异代码获取的灵活性。
21、可选的,在响应于版本差异代码获取指令,获取目标版本差异代码之前,还包括:
22、获取多个待管理项目版本代码;其中,所述待管理项目版本代码包括目标项目的主分支代码以及所述目标项目的各个分支迭代代码;
23、确定各所述分支迭代代码的版本差异代码;
24、存储所述主分支代码以及所述版本差异代码。
25、上述技术方案,对目标项目仅存储主分支代码以及版本差异代码,可以降低代码的空间存储资源,降低项目代码的维护成本。由于各项目分支仅存储了版本差异代码,因此,一个项目分支的版本差异代码需要迭代更新或修改bug时,不会对其他项目分支产生重复开发的过程,还能够提高项目代码的开发效率。
26、可选的,所述获取多个待管理项目版本代码,包括:
27、搭建代码管理项目;其中,所述代码管理项目包括vue项目;
28、在所述代码管理项目内加载各所述待管理项目版本代码。
29、可选的,在所述存储所述主分支代码以及所述版本差异代码之后,还包括:
30、对各所述版本差异代码配置差异代码基础信息;其中,所述差异代码基础信息包括命令标识信息和缓存版本配置信息;
31、响应于目标分支迭代代码运行命令,生成所述目标分支迭代代码匹配的环境变量值;
32、读取所述缓存版本配置信息,并对所述缓存版本配置信息的读取结果进行字符串转换,得到配置信息字符串转换内容;
33、对所述配置信息字符串转换内容转换成设定类型的数据对象,并存储所述设定类型的数据对象;
34、其中,所述设定类型的数据对象用于存储所述版本差异代码的差异代码访问路径。
35、上述技术方案,通过对版本差异代码配置命令标识信息和缓存版本配置信息等差异代码基础信息,以进一步根据命令标识信息生成环境变量值并根据缓存版本配置信息生成设定类型的数据对象,以便于通过环境变量值和设定类型的数据对象确定所需的版本差异代码,提高了版本差异代码获取的灵活性和高效性。
36、根据本发明的另一方面,提供了一种项目代码处理装置,包括:
37、目标版本差异代码获取模块,用于响应于版本差异代码获取指令,获取目标版本差异代码;其中,所述版本差异代码获取指令包括动态组件引入指令;
38、当前项目代码确定模块,用于确定所述目标版本差异代码匹配的当前项目代码;
39、目标项目分支代码获取模块,用于响应于版本差异代码插入指令,将所述目标版本差异代码插入至所述当前项目代码,得到目标项目分支代码;其中,所述版本差异代码插入指令包括动态组件插入指令。
40、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
41、至少一个处理器;以及
42、与所述至少一个处理器通信连接的存储器;其中,
43、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的项目代码处理方法。
44、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的项目代码处理方法。
45、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。