[发明专利]一种代码统计方法、系统、设备以及介质在审
| 申请号: | 202110714799.0 | 申请日: | 2021-06-25 |
| 公开(公告)号: | CN113590173A | 公开(公告)日: | 2021-11-02 |
| 发明(设计)人: | 王祥 | 申请(专利权)人: | 济南浪潮数据技术有限公司 |
| 主分类号: | G06F8/71 | 分类号: | G06F8/71 |
| 代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;张涛 |
| 地址: | 250000 山东省济南市中国(山东)自由贸易*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 统计 方法 系统 设备 以及 介质 | ||
本发明公开了一种代码统计方法,包括以下步骤:对多个版本的代码文件进行排序;将第n+1个版本的代码文件与第n个版本的代码文件进行对比以得到第n+1个版本的代码文件对应的删除行集合、新增行集合以及修改行集合;将得到的每一个删除行集合分别与其他不同版本的代码文件对应的新增行集合进行对比以及将得到的每一个修改行集合分别与其他不同版本的代码文件对应的修改行集合进行对比;根据对比结果对删除行集合、新增行集合、修改行集合进行去重处理以作为结果。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案通过两次对比可以区分哪些代码行进行了修改、删除及新增,以及记录多次更新中的有效修改、删除以及新增的代码行。
技术领域
本发明涉及代码统计领域,具体涉及一种代码统计方法、系统、设备以及存储介质。
背景技术
随着研发任务的进行,代码会分布在多个文件中,由数人提交,而且随着时间的推移提交的次数也在不断的增长。当前代码统计方案只是能够统计两次代码文件直接的区别,但是如果开发者对于同一个文件的某几行进行多次修改,是否每一次修改均可以计入有效代码行,目前的方案无法解决该问题。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种代码统计方法,包括以下步骤:
获取多个版本的代码文件并对所述多个版本的代码文件进行排序;
将第n+1个版本的代码文件与第n个版本的代码文件进行对比以得到第n+1个版本的代码文件对应的删除行集合、新增行集合以及修改行集合,其中n≥1且n为整数;
将得到的每一个删除行集合分别与其他不同版本的代码文件对应的新增行集合进行对比以及将得到的每一个修改行集合分别与其他不同版本的代码文件对应的修改行集合进行对比;
根据对比结果对每一个删除行集合、每一个新增行集合、每一个修改行集合进行去重处理,并作为最终的统计结果。
在一些实施例中,将第n+1个版本的代码文件与第n个版本的代码文件进行对比以得到第n+1个版本的代码文件对应的删除行集合、新增行集合以及修改行集合,进一步包括:
将所述第n+1个版本的代码文件中每一个代码行分别与所述第n个版本的代码文件中每一个代码行进行比较;
根据比较结果确定所述第n+1个版本的代码文件和第n个版本的代码文件之间若干个内容完全相同的代码行、若干个内容部分相同的代码行以及若干个内容完全不同的代码行;
将所述第n+1个版本的代码文件中的若干个内容完全不同的代码行作为新增行,将所述第n个版本的代码文件中的若干个内容完全不同的代码行作为删除行,以及将所述第n+1个版本的代码文件中的若干个内容部分相同的代码行作为修改行。
在一些实施例中,还包括:
分别计算所述第n+1个版本的代码文件中的每一个内容部分相同的代码行与所述第n个版本的代码文件中对应的代码行的相似度;
响应于相似度大于阈值,将第n+1个版本的代码文件中内容部分相同的代码行作为修改行;
响应于相似度小于阈值,将第n+1个版本的代码文件中内容部分相同的代码行作为新增行,并将所述第n个版本的代码文件中对应的代码行作为删除行。
在一些实施例中,分别计算所述第n+1个版本的代码文件中的每一个内容部分相同的代码行与所述第n个版本的代码文件中对应的代码行的相似度,进一步包括:
确定所述第n+1个版本的代码文件中内容部分相同的代码行与所述第n个版本的代码文件中对应的代码行之间多个相同字符串;
统计所述多个相同字符串中的字符数量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮数据技术有限公司,未经济南浪潮数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110714799.0/2.html,转载请声明来源钻瓜专利网。





