[发明专利]一种代码交接过程的识别方法、设备及介质有效
申请号: | 201911380380.5 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111158742B | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 荣国平 | 申请(专利权)人: | 星环信息科技(上海)有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 200233 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 交接 过程 识别 方法 设备 介质 | ||
1.一种代码交接过程的识别方法,其特征在于,包括:
根据软件项目的代码提交日志集合,得到与各开发者对应的代码提交数组,所述代码提交数组按照时间顺序存储开发者在开发周期内设定时间周期的代码提交数量;
计算两两代码提交数组间的活跃天数重合程度,并根据重合程度计算结果,获取与代码交接的继任者对应的目标代码提交数组;
在所述目标代码提交数组中,根据各代码提交日期的时间分布,识别交接开始日期以及代码贡献结束日期;
在所述目标代码提交数组中,根据与所述交接开始日期和所述代码贡献结束日期匹配的代码提交数量,识别交接结束日期;
其中,在所述目标代码提交数组中,根据各代码提交日期的时间分布,识别交接开始日期以及代码贡献结束日期,包括:
在所述目标代码提交数组中,获取首个满足持续提交条件的第一时间区间,将所述第一时间区间的时间起点,作为所述交接开始日期;
对所述目标代码提交数组进行反序操作后,获取首个满足所述持续提交条件的第二时间区间,并将所述第二时间区间的时间起点,作为所述代码贡献结束日期。
2.根据权利要求1所述的方法,其特征在于,根据软件项目的代码提交日志集合,得到与各开发者对应的代码提交数组,包括:
获取与所述软件项目匹配的代码提交日志集合,所述代码提交日志集合包括:开发者以及代码提交时间;
将所述代码提交日志集合,按照开发者进行分类,得到与各所述开发者分别对应的代码提交日志子集合;
在各所述代码提交日志子集合中,按照代码提交时间所属的代码提交日期进行统计,并根据统计结果,得到与各开发者分别对应的代码提交数组。
3.根据权利要求1所述的方法,其特征在于,计算两两代码提交数组间的活跃天数重合程度,并根据重合程度计算结果,获取与代码交接的继任者对应的目标代码提交数组,包括:
根据各开发者针对软件项目的代码提交数组,计算所述各开发者两两之间的活跃天数的重合程度;
在当前两个开发者的所述活跃天数的重合程度符合交接条件时,分别获取所述当前两个开发者最早的代码提交日期;
在所述当前两个开发者中,将距离当前日期最近的所述最早的代码提交日期对应的开发者作为继任者,并获取所述继任者对应的目标代码提交数组。
4.根据权利要求1所述的方法,其特征在于,所述持续提交条件包括:时间区间内任意相邻代码提交日期的间隔不超过预设的时间间隔阈值,且所述时间区间内包括的代码提交日期的数量超过预设的提交数量阈值。
5.根据权利要求4所述的方法,其特征在于,在所述目标代码提交数组中,获取首个满足持续提交条件的第一时间区间,将所述第一时间区间的时间起点,作为所述交接开始日期,包括:
设置间隔时间变量的初始大于预设的间隔时间阈值,并设置持续时间变量为0;
从所述目标代码提交数组中依次获取一个数组元素作为当前操作元素,并将指针指向所述当前操作元素;
如果所述持续时间变量的当前值小于等于所述持续时间阈值,则执行:
在确定所述当前操作元素大于等于1且所述间隔时间变量大于所述间隔时间阈值时,将所述指针的当前值赋值给交接开始时间变量值,并将所述间隔时间变量以及所述持续时间变量同时置0;
在确定所述当前操作元素大于等于1且所述间隔时间变量小于等于所述间隔时间阈值时,将所述间隔时间变量置0,并将所述持续时间变量加1;
在确定所述当前操作元素小于1时,则将所述间隔时间变量加1;
返回执行从所述目标代码提交数组中依次获取一个数组元素作为当前操作元素,直至满足所述持续时间变量的当前值大于所述持续时间阈值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于星环信息科技(上海)有限公司,未经星环信息科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911380380.5/1.html,转载请声明来源钻瓜专利网。