(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111669856.4
(22)申请日 2021.12.3 0
(71)申请人 天翼电子商务有限公司
地址 100037 北京市西城区阜成门外大街
31号4层429D
(72)发明人 唐彪 肖小明
(51)Int.Cl.
G06Q 10/10(2012.01)
G06F 8/71(2018.01)
G06F 11/36(2006.01)
G06F 8/72(2018.01)
(54)发明名称
一种基于Gitlab的代码开发量精确统计方
法
(57)摘要
本发明公开了一种基于Gitlab的代码开发
量精确统计方法, 包括以下步骤: S1、 获取公司人
力系统的员 工信息, 包括用户名、 邮箱等; S2、 在
代码提交阶段对Gitlab用户信息进行规范性校
验: 1).判断Gitlab用户信息与人力系统的员工
信息是否匹配; 2).若校验 不通过, 则拒绝代码提
交, 并给出整改方式; 3).若校验通过, 则允许提
交代码至代码管理工具。 本发明不仅实现了代码
开发量统计精确到个人或团队, 也增强了代码的
可追溯性; 不仅避免了人为造假行为、 提高了代
码开发量统计的准确性, 也可以对重复度较高的
代码进行重构来提升代码的健壮性; 增强了代码
开发量统计的真实性; 解决了不同语 言的风格不
一致的问题, 增强了代码开发量统计的真实性。
权利要求书1页 说明书3页 附图5页
CN 114529250 A
2022.05.24
CN 114529250 A
1.一种基于Gitlab的代码开发量精确统计方法, 其特 征在于, 包括以下步骤:
S1、 获取公司人力系统的员工信息, 包括用户名、 邮箱;
S2、 在代码提交阶段对Gitlab用户信息进行规范性校验:
1).判断Gitlab用户信息与人力系统的员工信息是否匹配;
2).若校验不 通过, 则拒绝代码提交, 并给 出整改方式(正确的用户名和邮箱);
3).若校验通过, 则允许提交代码至代码管理工具;
S3、 通过Gitlab接口的方式获取代码提交信息, 包括代码提交人信息、 代码内容和行
数;
S4、 对所有 文件的代码行内容进行重复性判断:
1).将所有代码文件的代码行内容作为 一个集合;
2).依次判断每 个代码行内容与其 他代码行内容是否 重复;
3).对重复度较高的代码文件进行重构, 来 提升代码健壮性;
S5、 对所有 文件的代码行内容进行 无效性判断:
1).根据不同的代码类型设置不同的无效代码忽略规则, 如代码注释、 空行、 包引用、 打
印语句;
2).依次判断每 个代码行内容是否为无效代码;
S6、 根据员工信息, 按团队或个人, 统计代码开发量:
1).忽略被标记为无效代码的代码行;
2).若统计团队代码开发量, 则团队所有的重复代码, 仅计算一次; 若统计个人代码开
发量, 则个人 所有的重复代码, 仅计算 一次;
3).从代码行 数和代码字节数两个维度, 统计代码开发量。权 利 要 求 书 1/1 页
2
CN 114529250 A
2一种基于Gitlab的代码开发量精确统 计方法
技术领域
[0001]本发明涉及代码开发量统计、 软件度量领域, 特别涉及一种基于Gitlab的代码开
发量精确统计方法。
背景技术
[0002]Gitlab是当前使用最广 泛的开源代码管理工具, 代码 开发量统计是软件度量领域
中重要的组成部分, 统计团队或个人代码开发量是提升软件开发效率的有效方法。
[0003]当前代码开发量统计存在以下问题:
[0004]1)Gitlab用户信息没有规范, 与公司人员系统信息对应不上, 代码开发量统计无
法精确到个人或团队;
[0005]2)相同功能的代码重复多次提交, 存在人为造假的问题;
[0006]3)目前普遍以代码行数为维度来统计代码开发量, 但不同语言的风格不一致(同
样的功能, 不同的行 数), 不能较好的体现真实的代码开发量;
[0007]4)代码中存在注释、 空行等无效代码, 真实代码开发量统计不 准确。
[0008]本专利针对这一场景, 创新地提出了一种基于Gitlab的代码开发量精确统计方
法, 有效的解决了以上几个问题, 提升 了代码开发量统计的精确性。
发明内容
[0009]本发明要解决的技术问题是克服现有技术的缺陷, 提供一种基于Gitlab的代码 开
发量精确统计方法。
[0010]本发明提供了如下的技 术方案:
[0011]本发明提供一种基于Gitlab的代码开发量精确统计方法, 包括以下步骤:
[0012]S1、 获取公司人力系统的员工信息, 包括用户名、 邮箱等;
[0013]S2、 在代码提交阶段对Gitlab用户信息进行规范性校验:
[0014]1).判断Gitlab用户信息与人力系统的员工信息是否匹配;
[0015]2).若校验不 通过, 则拒绝代码提交, 并给 出整改方式(正确的用户名和邮箱);
[0016]3).若校验通过, 则允许提交代码至代码管理工具;
[0017]S3、 通过Gitlab接口的方式获取代码 提交信息, 包括代码 提交人信息、 代码内容和
行数;
[0018]S4、 对所有 文件的代码行内容进行重复性判断:
[0019]1).将所有代码文件的代码行内容作为 一个集合;
[0020]2).依次判断每 个代码行内容与其 他代码行内容是否 重复;
[0021]3).对重复度较高的代码文件进行重构, 来 提升代码健壮性;
[0022]S5、 对所有 文件的代码行内容进行 无效性判断:
[0023]1).根据不同的代码类型设置不同的无效代码忽略规则, 如代码注释、 空行、 包引
用、 打印语句等;说 明 书 1/3 页
3
CN 114529250 A
3
专利 一种基于Gitlab的代码开发量精确统计方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 20:06:43上传分享