一种工具类代码管理方法、系统和电子设备技术方案

技术编号:32018463 阅读:12 留言:0更新日期:2022-01-22 18:36
本发明专利技术公开了一种工具类代码管理方法、系统和电子设备,该系统包括:开发端根据第一用户操作生成开发代码;插件端获取开发端上的开发代码,并将开发代码与服务器上的代码依赖库中的全部工具类代码进行比对;若代码依赖库中存在与开发代码相似的第一工具类代码,插件端将基于第一工具类代码生成的通知消息发送到开发端;开发端将通知消息转发至第一用户,以使第一用户根据通知消息生成第一用户指令;当开发端接收到第一用户指令时,向服务器发送拉取请求,以从服务器上拉取与开发代码对应的第一工具类代码。本发明专利技术提供的技术方案,通过插件端及时检测并提醒用户使用和当前开发代码相似的已有工具类代码,避免了用户开发多余工具类代码的情况。具类代码的情况。具类代码的情况。

【技术实现步骤摘要】
一种工具类代码管理方法、系统和电子设备


[0001]本专利技术涉及软件开发领域,具体涉及一种工具类代码管理方法、系统和电子设备。

技术介绍

[0002]在软件开发中,经常会编写各种独立的、非业务的、小型功能、简单逻辑的代码,并将其封装到一个类或脚本代码中;如果有多个相似逻辑、相似业务的代码逻辑,也会将这部分代码聚合,然后统一写入同一业务类的类或脚本代码中,并分为多个方法实现。当实际业务开发需要使用上述代码时,不再编写新的代码,而是直接将封装好的类或者脚本引入并调用。这种代码复用逻辑优化了代码的封装性与耦合性,提高了开发效率,尤其在面向对象开发环境中,符合面向对象的单一职责、开闭原则与迪米特原则。上述类或者脚本一般称为“工具类”或者“工具脚本”。
[0003]某一“工具类”在单项目开发、多项目联合开发或组件化多项目混合开发中,理论上应当只有一个,并被各项目或组件的代码直接调用,保证代码复用的最大化、减少冗余代码和降低代码重复率。但是在实际开发中,一个“工具类”可能会存在多个副本,也可能由于业务的些许不同,封装的工具类不够严谨,掺入了部分业务逻辑,而每个业务逻辑都会写一个工具类,从而出现重复工具代码。这种情况不但给开发者造成代码选择负担和审核代码负担,还会造成项目代码冗余、项目体积增大以及工具代码统一管理不便等问题。现有技术通常根据公司规章制度来规定所有的开发人员将工具代码统一写在某一个位置,以此开发规范约束开发人员的开发习惯。但是这种方法容易产生漏网之鱼,开发人员往往对目标位置中保存的工具类代码随意检索,为了节省人工检索时间,开发人员会放弃检索直接开发相关代码放入目标位置。随着版本的不断迭代,开发人员和管理人员的更换,管理理念的更新与改变,依然会不断增加冗余工具代码。因此,如何保证相同工具类代码的唯一性是代码管理时亟待解决的问题。

技术实现思路

[0004]有鉴于此,本专利技术实施方式提供了一种工具类代码管理方法、系统和电子设备,解决了工具类代码冗余的问题,保证了工具类代码唯一性。
[0005]根据第一方面,本专利技术提供了一种工具类代码管理方法,所述方法包括:接收第一用户的第一用户操作,并根据所述第一用户操作生成开发代码;若接收到插件端发送的通知消息,将所述通知消息发送至所述第一用户,以使所述第一用户根据所述通知消息生成第一用户指令,所述通知消息是基于第一工具类代码生成的通知消息,所述第一工具类代码是插件端将当前所述开发代码与服务器上的代码依赖库中的全部工具类代码进行比对,并基于比对结果从所述代码依赖库中获取的与所述开发代码相似度达到预设阈值的代码;接收所述第一用户发送的第一用户指令,并根据所述第一用户指令向所述服务器发送拉取请求,以从所述服务器上拉取与所述开发代码对应的所述第一工具类代码。
[0006]可选地,所述方法还包括:接收第二用户的第二用户操作,并根据所述第二用户操
作生成目标工具类特征;将所述目标工具类特征发送至所述插件端,以通过所述插件端在所述代码依赖库中搜索与所述目标工具类特征匹配的目标工具类代码;接收所述插件端发送的第二通知消息,所述第二通知消息是所述插件端在所述代码依赖库中搜索到与所述目标工具类特征匹配的目标工具类代码后,基于所述目标工具类代码生成的。
[0007]可选地,在所述通过所述插件端在所述代码依赖库中搜索与所述目标工具类特征匹配的目标工具类代码之后,所述方法还包括:若所述代码依赖库中没有所述目标工具类代码,则根据所述第二用户操作生成目标工具类代码;发送所述目标工具类代码到所述插件端,以通过所述插件端将所述目标工具类代码提交到所述代码依赖库中进行存储。
[0008]根据第二方面,本专利技术实施例提供了一种工具类代码管理方法,所述方法包括:获取开发端上的开发代码,并将所述开发代码与服务器上的代码依赖库中的全部工具类代码进行比对,所述开发代码为所述开发端接收第一用户的第一用户操作,并根据所述第一用户操作生成的开发代码;若所述代码依赖库中存在与所述开发代码的相似度达到预设阈值的第一工具类代码,则基于所述第一工具类代码生成通知消息;发送所述通知消息到所述开发端,以使所述开发端将所述通知消息发送至所述第一用户,并使所述第一用户根据所述通知消息生成第一用户指令,使所述开发端接收所述第一用户指令时,根据所述第一用户指令向所述服务器发送拉取请求,以从所述服务器上拉取与所述开发代码对应的第一工具类代码。
[0009]可选地,所述方法还包括:接收开发端发送的目标工具类特征,所述目标工具类特征为所述开发端接收第二用户的第二用户操作,并根据所述第二用户操作生成的目标工具类特征;在所述代码依赖库中搜索与所述目标工具类特征匹配的目标工具类代码;若所述代码依赖库中存在所述目标工具类代码,则基于所述目标工具类代码生成第二通知消息,并将所述第二通知消息发送给所述开发端。
[0010]可选地,所述在所述代码依赖库中搜索与所述目标工具类特征匹配的目标工具类代码之后,所述方法还包括:若所述代码依赖库中不存在所述目标工具类代码,则从所述开发端接收所述目标工具类代码,所述目标工具类代码为所述开发端根据所述第二用户操作生成的目标工具类代码;将所述目标工具类代码提交到所述服务器上的代码依赖库中进行存储。
[0011]可选地,所述将所述目标工具类代码提交到所述服务器上的代码依赖库中进行存储,包括:发送所述目标工具类代码到所述服务器上,以使所述服务器对所述目标工具类代码进行鉴定和编译,并将鉴定和编译通过的所述目标工具类代码进行存储。
[0012]根据第三方面,本专利技术实施例提供了一种工具类代码管理系统,所述系统包括:开发端和插件端,其中,开发端接收第一用户的第一用户操作,并根据所述第一用户操作生成开发代码;插件端获取开发端上的开发代码,并将所述开发代码与服务器上的代码依赖库中的全部工具类代码进行比对;若所述代码依赖库中存在与所述开发代码的相似度达到预设阈值的第一工具类代码,插件端基于所述第一工具类代码生成通知消息,并发送所述通知消息到所述开发端;当所述开发端接收到插件端发送的通知消息时,将所述通知消息发送至所述第一用户,以使所述第一用户根据所述通知消息生成第一用户指令;当开发端接收到所述第一用户发送的第一用户指令时,根据所述第一用户指令向所述服务器发送拉取请求,以从所述服务器上拉取与所述开发代码对应的所述第一工具类代码。
[0013]根据第四方面,本专利技术实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面、第二方面、第一方面任意一种可选实施方式,或者第二方面任意一种可选实施方式中所述的方法。
[0014]根据第五方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行第一方面、第二方面、第一方面任意一种可选实施方式,或者第二方面任意一种可选实施方式中所述的方法。
[0015]本申请提供的技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种工具类代码管理方法,其特征在于,所述方法包括:接收第一用户的第一用户操作,并根据所述第一用户操作生成开发代码;若接收到插件端发送的通知消息,将所述通知消息发送至所述第一用户,以使所述第一用户根据所述通知消息生成第一用户指令,所述通知消息是基于第一工具类代码生成的通知消息,所述第一工具类代码是插件端将当前所述开发代码与服务器上的代码依赖库中的全部工具类代码进行比对,并基于比对结果从所述代码依赖库中获取的与所述开发代码相似度达到预设阈值的代码;接收所述第一用户发送的第一用户指令,并根据所述第一用户指令向所述服务器发送拉取请求,以从所述服务器上拉取与所述开发代码对应的所述第一工具类代码。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收第二用户的第二用户操作,并根据所述第二用户操作生成目标工具类特征;将所述目标工具类特征发送至所述插件端,以通过所述插件端在所述代码依赖库中搜索与所述目标工具类特征匹配的目标工具类代码;接收所述插件端发送的第二通知消息,所述第二通知消息是所述插件端在所述代码依赖库中搜索到与所述目标工具类特征匹配的目标工具类代码后,基于所述目标工具类代码生成的。3.根据权利要求2所述的方法,其特征在于,在所述通过所述插件端在所述代码依赖库中搜索与所述目标工具类特征匹配的目标工具类代码之后,所述方法还包括:若所述代码依赖库中没有所述目标工具类代码,则根据所述第二用户操作生成目标工具类代码;发送所述目标工具类代码到所述插件端,以通过所述插件端将所述目标工具类代码提交到所述代码依赖库中进行存储。4.一种工具类代码管理方法,其特征在于,所述方法包括:获取开发端上的开发代码,并将所述开发代码与服务器上的代码依赖库中的全部工具类代码进行比对,所述开发代码为所述开发端接收第一用户的第一用户操作,并根据所述第一用户操作生成的开发代码;若所述代码依赖库中存在与所述开发代码的相似度达到预设阈值的第一工具类代码,则基于所述第一工具类代码生成通知消息;发送所述通知消息到所述开发端,以使所述开发端将所述通知消息发送至所述第一用户,并使所述第一用户根据所述通知消息生成第一用户指令,使所述开发端接收所述第一用户指令时,根据所述第一用户指令向所述服务器发送拉取请求,以从所述服务器上拉取与所述开发代码对应的第一工具类代码。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收开发...

【专利技术属性】
技术研发人员:杨晓明
申请(专利权)人:北京自如信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1