1.一种代码质量监控方法,其特征在于,包括SVN服务器执行的如下步骤:
获取SVN客户端发送的代码提交请求,所述代码提交请求包括提交人ID、提交时间和源代码;
基于所述代码提交请求,获取与所述代码提交请求对应的代码提交日志;
采用SVN监控任务进程对所述代码提交日志进行监控,按照所述提交时间的先后顺序对所述代码提交日志进行排列,获取代码提交日志队列;
采用通用代码检测规则依照所述代码提交日志队列的顺序,对所述源代码中的所有代码块进行第一次检测,获取第一检测结果;采用专用代码检测规则依照所述代码提交日志队列的顺序,对所述源代码中的携带有特殊标签的代码块进行第二次检测,获取第二检测结果,其中,所述专用代码检测规则指适用于检查特定的代码块的正则表达式;其中,所述通用代码检测规则指代码检测工具中检测代码是否符合代码编写规范的规则;所述第一检测结果是指使用所述通用代码检测规则对代码块进行检测得到的不规范代码;所述第二检测结果指使用所述专用代码检测规则对代码块进行检测得到的不规范代码;所述正则表达式包括源代码中函数名命名的规范、函数调用的规范、单行源代码不能超过多少字符的规范、单个功能模块不能超过多少行的规范和源代码中的文件流是否有关闭标识的规范;
当有代码提交日志对应的源代码检测出不规范代码时,基于所述不规范代码生成修改提示信息,并将所述修改提示信息发送给所述提交人ID对应的SVN客户端,以使所述SVN客户端显示所述修改提示信息。
2.如权利要求1所述的代码质量监控方法,其特征在于,所述将所述修改提示信息发送给所述提交人ID对应的SVN客户端,包括:将所述不规范代码和对应的代码检测意见添加到邮件模板中预设的位置,生成修改提醒邮件;
根据所述提交人ID获取与所述提交人ID对应的提交人邮箱,将所述修改提醒邮件发送给所述提交人邮箱。
3.如权利要求1所述的代码质量监控方法,其特征在于,所述SVN服务器上部署有分布式发布订阅消息系统和日志分析工具;
所述基于所述代码提交请求,获取与所述代码提交请求对应的代码提交日志,包括:
通过所述分布式发布订阅消息系统,获取原始日志信息;
通过所述日志分析工具对所述原始日志信息进行分类,获取携带有代码提交标识对应的代码提交日志。
4.如权利要求1所述的代码质量监控方法,其特征在于,所述代码质量监控方法还包括:获取所述不规范代码对应的代码提交日志,根据所述代码提交日志中记录的提交人信息、提交时间和不规范类别中至少一个维度,对所述不规范代码出现的次数进行统计,构建可视化图表。
5.如权利要求4所述的代码质量监控方法,其特征在于,所述构建可视化图表,包括:获取可视化图表制作请求,所述可视化图表制作请求中包括图表制作参数和图表类型;
基于图表制作参数和图表类型,采用图表转换工具将所述图表制作参数转换成与所述图表类型相对应的可视化图表。
6.一种代码质量监控装置,其特征在于,包括:
代码提交请求获取模块,用于获取SVN客户端发送的代码提交请求,所述代码提交请求包括提交人ID、提交时间和源代码;
代码提交日志获取模块,用于基于所述代码提交请求,获取与所述代码提交请求对应的代码提交日志;
代码提交日志队列获取模块,用于采用SVN监控任务进程对所述代码提交日志进行监控,按照所述提交时间的先后顺序对所述代码提交日志进行排列,获取代码提交日志队列;
源代码检测模块,用于采用通用代码检测规则依照所述代码提交日志队列的顺序,对所述源代码中的所有代码块进行第一次检测,获取第一检测结果;采用专用代码检测规则依照所述代码提交日志队列的顺序,对所述源代码中的携带有特殊标签的代码块进行第二次检测,获取第二检测结果,其中,所述专用代码检测规则指适用于检查特定的代码块的正则表达式;其中,所述通用代码检测规则指代码检测工具中检测代码是否符合代码编写规范的规则;所述第一检测结果是指使用所述通用代码检测规则对代码块进行检测得到的不规范代码;所述第二检测结果指使用所述专用代码检测规则对代码块进行检测得到的不规范代码;所述正则表达式包括源代码中函数名命名的规范、函数调用的规范、单行源代码不能超过多少字符的规范、单个功能模块不能超过多少行的规范和源代码中的文件流是否有关闭标识的规范;
修改提示信息发送模块,用于当有代码提交日志对应的源代码检测出不规范代码时,基于所述不规范代码生成修改提示信息,并将所述修改提示信息发送给所述提交人ID对应的SVN客户端,以使所述SVN客户端显示所述修改提示信息。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至
5任一项所述代码质量监控方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述代码质量监控方法的步骤。