【技术实现步骤摘要】
一种代码工作量统计方法、装置和设备
[0001]本专利技术涉及程序开发领域,具体涉及一种代码工作量统计方法、装置和设备。
技术介绍
[0002]代码量统计在很多公司都是用来衡量一个员工、一个团队、一个部门工作量的一项重要指标之一。通过进行代码量的统计,可对一个员工对团队贡献有一个可靠的评价指标,从而更好的衡量一个员工的绩效情况。现阶段大部分公司的代码管理通过Gitlab进行,统计代码工作量的做法都是通过GitLab接口做一个简单的增删改的代码量统计,通过对GitLab接口进行调用,首先获取用户可见的所有项目,然后获取所有项目的分支列表,再遍历分支并根据分支名称获取代码的commits数据,最后再根据commits数据中的commitid获取该commit id对应用户的代码量,以此来实现对个人进行代码的统计。但是这种方法很容易造成工作量的重复统计,例如:用户A的代码中合并了用户B的代码,在用户A将代码push到线上服务器之前,用户B已经push了其自身的代码,并且该代码的commits信息中有唯一commitid被统计到用户 ...
【技术保护点】
【技术特征摘要】
1.一种代码工作量统计方法,其特征在于,所述方法包括:获取目标时间段内的目标数据列表,所述目标数据列表中包括用户提交的commits数据,所述commits数据至少包括commit id和提交时间;删除所述目标数据列表中的第一类重复commits数据,所述第一类重复commits数据中的commitid在所述目标数据列表中不唯一,且所述第一类重复commits数据的提交时间与具有相同commitid的commits数据相比不是最早的;基于删除后的所述目标数据列表中的commits数据统计各个用户在所述目标时间段内的代码工作量。2.根据权利要求1所述的方法,其特征在于,在所述删除所述目标数据列表中第一类重复commits数据之后,所述方法还包括:获取第二时间段内的第二数据列表,所述第二时间段在所述目标时间段之前,所述第二数据列表中包括用户提交的commits数据;删除所述目标数据列表中第二类重复commits数据,所述第二类重复commits数据中的commitid存在于所述第二数据列表中。3.根据权利要求2所述的方法,其特征在于,所述commits数据中还包括commits信息,在所述删除所述目标数据列表中第二类重复commits数据之后,所述方法还包括:删除所述目标数据列表中第三类重复commits数据,所述第三类重复commits数据中的commits信息具有合并操作的关键词。4.根据权利要求3所述的方法,其特征在于,在所述删除所述目标数据列表中第三类重复commits数据之后,所述方法还包括:判断所述目标数据列表中各个commits数据对应源代码的操作文件是否包括代码类型文件,所述代码类型文件包括头文件和用于执行头文件声明方法的实现文件;在当前commits数据对应源代码的操作文件不包括代码类型文件时,删除所述目标数据列表中的所述当前commits数据。5.根据权利要求4所述的方法,在特征在于,所述方法还包括:在当前commits数据对应源代码的操作文件包括代码类型文件时,判断所述当前commits数据对应的代码类型文件的操作指令是否全部是删除操作;在当前commi...
【专利技术属性】
技术研发人员:王勇,李长鸿,黄铮,
申请(专利权)人:北京自如信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。