一种多人协作项目的代码质量和个人贡献度评价方法与流程

文档序号:35243096发布日期:2023-08-25 07:44阅读:51来源:国知局
一种多人协作项目的代码质量和个人贡献度评价方法与流程

本发明涉及软件分析,具体涉及一种多人协作项目的代码质量和个人贡献度评价方法。


背景技术:

1、在软件项目的整个生命周期中,维护阶段的成本往往占据了整个项目生命周期成本的一半以上,因此软件项目的代码质量,包括代码可读性和可维护性在整个软件项目的生命周期中就占有举足轻重的地位。软件研发过程中,对于代码质量的把控往是通过人工评审的方式,这具有非常大的主观性,并且随着软件项目代码规模的增加和研发团队成员规模的扩大,对每人每次提交的代码如果仅依靠人工逐行评审,不仅需要花费大量的时间和精力,还很难保证人工评审的效率和精准性,对于代码质量的评价客观性更加难以把控。每位研发人员每一次的代码提交都会影响着整体代码的质量,从而影响整个软件的安全性、可靠性和可维护性。同时,每个研发人员的技术能力也是团队发展不可忽视的一部分,传统的根据提交代码量和完成度得到的每个研发成员的软件研发过程中的贡献度显得不太准确和客观。


技术实现思路

1、针对上述现有技术存在的问题,本发明提供了一种多人协作项目的代码质量和个人贡献度评价方法,针对整个软件项目的代码以及每次需要评估的代码进行质量分析,通过对每个研发人员的所有提交的代码的质量分析统计和数量分析统计计算个人贡献度,从而做到对整个软件项目的代码质量进行把控以及对研发人员的贡献度给出准确评估。

2、第一方面,本发明提供了一种多人协作项目的代码质量和个人贡献度评价方法,包括:

3、获取待分析的目标代码文件,所述目标代码文件包括多人协作项目的整体代码文件和多人协作项目中目标研发人员完成的局部代码文件;

4、基于针对多人协作项目预设的代码质量问题数量约束条件,确定单行代码质量基础得分;

5、基于所述目标代码文件的有效代码行数确定所述目标代码文件的代码量增减数据,基于目标代码文件的代码量增减数据与所述单行代码质量基础得分确定目标代码文件的第一得分;

6、基于至少一种代码分析工具对所述整体代码文件进行代码分析,获取所述目标代码文件引入和修复的代码质量问题,基于目标代码文件引入和修复的代码质量问题及不同代码质量问题的预设权重,确定目标代码文件的第二得分和第三得分;

7、基于目标代码文件的第一得分、第二得分和第三得分确定目标代码文件的第四得分,基于所述第四得分获取多人协作项目的代码质量得分和目标研发人员的个人贡献度得分。

8、在一些实施方式中,所述基于所述第四得分获取多人协作项目的代码质量得分和目标研发人员的个人贡献度得分,包括:

9、在所述目标代码文件为整体代码文件时,所述第四得分为多人协作项目的代码质量得分;

10、在所述目标代码文件为所述局部代码文件时,基于所述局部代码文件实现的功能点确定所述局部代码文件的功能完成度得分,基于所述局部代码文件的第四得分和功能完成度得分融合得到与所述局部代码文件对应的目标研发人员的个人贡献度得分。

11、在一些实施方式中,所述代码质量问题数量约束条件包括但不限于千行代码缺陷率;所述基于针对多人协作项目预设的代码质量问题数量约束条件,确定单行代码质量基础得分,包括:基于千行代码缺陷率约束条件获取单行代码缺陷率作为单行代码质量基础得分。

12、在一些实施方式中,所述基于目标代码文件的代码量增减数据与所述单行代码质量基础得分确定目标代码文件的第一得分sbasic,包括:

13、记单行代码质量基础得分为x,目标代码文件的代码增加行数和减少行数分别为la和lr;

14、sbasic=la*x-lr*x。

15、在一些实施方式中,所述目标代码文件引入和修复的代码质量问题,包括多种代码质量评价维度下的多种代码质量评价规则;

16、所述代码质量问题预设权重,包括不同代码质量评价维度的预设权重和所述代码质量评价维度下的不同代码质量评价规则的预设权重。

17、在一些实施方式中,所述代码质量评价维度包括但不限于缺陷维度、可读性维度、规范性维度、性能维度。

18、在一些实施方式中,所述基于目标代码文件引入和修复的代码质量问题及代码质量问题预设权重,确定目标代码文件的第二得分和第三得分,包括:

19、第二得分sdeduct为:

20、其中,i为代码质量评价维度的总个数,j为第i个代码质量评价维度下的代码质量评价规则总个数,λi为第i个代码质量评价维度的预设权重,λij为第i个代码质量评价维度的第j个代码质量评价规则的预设权重,qij为目标代码文件引入的第i个代码质量评价维度下第j个代码质量评价规则的个数;

21、第三得分searn为:

22、其中,pij为目标代码文件修复的第i个代码质量评价维度下第j个代码质量评价规则的个数。

23、在一些实施方式中,所述代码质量问题预设权重,包括不同代码质量评价维度的预设权重、所述代码质量评价维度下的不同代码质量评价规则的不同严重程度的预设权重。

24、在一些实施方式中,所述基于目标代码文件的第一得分、第二得分和第三得分确定目标代码文件的第四得分stotal,包括:

25、stotal=sbasic-sdeduct+searn。

26、在一些实施方式中,在获得多人协作项目的代码质量得分之后,还包括:

27、基于获取的多人协作项目的代码质量得分与多人协作项目的代码行数确定所述多人协作项目的单行代码质量得分,基于所述单行代码质量得分与预设的代码质量预警条件进行对比,在所述单行代码质量得分达到预设的代码质量预警条件时,发出代码质量预警信息;

28、在获得目标研发人员对多人协作项目的贡献度得分之后,还包括:

29、基于获取的目标研发人员对多人协作项目的贡献度得分与预设的个人贡献度预警条件进行对比,在所述目标研发人员对多人协作项目的贡献度达到预设的个人贡献度预警条件时,发出目标研发人员的贡献度预警信息。

30、第二方面,本发明提供了一种多人协作项目的代码质量和个人贡献度评价系统,该系统包括:

31、目标代码文件单元,用于获取待分析的目标代码文件,所述目标代码文件包括多人协作项目的整体代码文件和多人协作项目中目标研发人员完成的局部代码文件;

32、第一数据获取单元,用于基于针对多人协作项目预设的代码质量问题数量约束条件,确定单行代码质量基础得分;

33、第一分析单元,用于基于所述目标代码文件的有效代码行数确定所述目标代码文件的代码量增减数据,基于目标代码文件的代码量增减数据与所述单行代码质量基础得分确定目标代码文件的第一得分;

34、第二分析单元,用于基于至少一种代码分析工具对所述整体代码文件进行代码分析,获取所述目标代码文件引入和修复的代码质量问题,基于目标代码文件引入和修复的代码质量问题及不同代码质量问题的预设权重,确定目标代码文件的第二得分和第三得分;

35、第三分析单元,基于目标代码文件的第一得分、第二得分和第三得分确定目标代码文件的第四得分,基于所述第四得分获取多人协作项目的代码质量得分和目标研发人员的个人贡献度得分。

36、本发明的一种多人协作项目的代码质量和个人贡献度评价方法,具备如下有益效果:通过第一得分获得代码“数量”维度的代码质量得分,从第二得分和第三得分获得代码“质量”维度的代码质量得分,本技术中对于多人协作项目的整体代码文件或者单个研发人员完成的局部代码文件实现多维度的质量评价,提高了对于多人协作项目综合质量评价的准确性,同时基于对局部代码文件的多维度质量分析实现对个人贡献度更加准确客观的分析,避免了现有技术中基于个人完成代码行数在多人协作项目整体代码行数的占比获取个人贡献度的单一粗放分析方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1