[发明专利]一种单代码仓库建设方法及系统及装置及介质有效
申请号: | 202310092363.1 | 申请日: | 2023-02-10 |
公开(公告)号: | CN115774565B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 请求不公布姓名 | 申请(专利权)人: | 成都数联云算科技有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70;G06F40/194 |
代理公司: | 成都云纵知识产权代理事务所(普通合伙) 51316 | 代理人: | 熊曦 |
地址: | 610041 四川省成都市中国(四川)自*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 仓库 建设 方法 系统 装置 介质 | ||
1.一种单代码仓库建设方法,其特征在于,所述单代码仓库建设方法包括以下步骤:
步骤1:确定目标项目及所述目标项目对应的源代码,下载所述源代码,获得第一数据;
步骤2:提取所述第一数据中相似代码块,获得第二数据;
步骤3:建立代码库,将所述第二数据添加至所述代码库中,并根据所述第二数据在所述代码库中安装依赖;
其中,所述步骤2具体为:遍历所述第一数据,获得所述第一数据中出现的函数,所述函数为一个或多个,分别记录所述函数对应的重复次数;
将所述函数根据对应的重复次数进行排序,获得排序结果;
根据所述排序结果获得第一阈值,提取所述函数中重复次数大于所述第一阈值的函数对应的代码,获得第二数据;
或,所述步骤2具体为:步骤a:根据所述第一数据的结构对所述第一数据进行处理,获得代码结构树;获得所述代码结构树的深度n,其中,n为正整数;根据所述代码结构树的深度n确定分割粒度,并根据所述分割粒度对所述第一数据进行分割,获得代码块;
步骤b:建立并训练神经网络模型,获得相似度识别模型;
步骤c:根据所述相似度识别模型对所述代码块进行处理,将所述代码块分为相似代码集合,其中,所述相似代码集合中任意一个相似代码集合包括至少一个代码块;
步骤d:分别整合所述相似代码集合对应的代码块,获得第二数据;
步骤e:计算所述第二数据对应的数据量和所述第一数据对应的数据量的比值,并判断所述比值是否在第二阈值范围内;若所述比值不在所述第二阈值范围内,则返回所述步骤a,根据所述比值更新所述分割粒度,并执行后续步骤。
2.根据权利要求1所述的一种单代码仓库建设方法,其特征在于,遍历所述第一数据前,还包括对所述第一数据的筛选,其中,对所述第一数据的筛选根据所述第一数据对应的文件名实现。
3.根据权利要求1所述的一种单代码仓库建设方法,其特征在于,所述步骤3中建立的代码库基于pnpm包管理器实现。
4.根据权利要求3所述的一种单代码仓库建设方法,其特征在于,所述步骤3具体为:
建立代码库,全局安装pnpm包管理器并初始化;
判断所述代码库中是否存在目录文件,若不存在则创建目录文件;
根据所述第二数据生成子项目文件夹,并在所述目录文件中安装所述子项目文件夹对应的依赖;
将所述第二数据载入至对应的子项目文件夹中;
配置脚本文件,并根据所述脚本文件对所述子项目文件夹进行测试。
5.根据权利要求4所述的一种单代码仓库建设方法,其特征在于,所述生成子项目文件夹通过以下步骤实现:
根据所述第二数据获得对应的子项目名;
遍历当前目录文件下的文件,判断是否存在与所述子项目名同名的项目文件夹;
若存在与所述子项目名同名的项目文件夹,则跳过对该同名子项目名的处理,若不存在与所述子项目名同名的项目文件夹,则创建对应的项目文件夹。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都数联云算科技有限公司,未经成都数联云算科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310092363.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便于拆卸的儿童安全座椅
- 下一篇:一种临床护理消毒清洗装置