CN111190636A - 分支代码持续集成中的自动探测方法、装置及存储介质 - Google Patents
分支代码持续集成中的自动探测方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111190636A CN111190636A CN201811354032.6A CN201811354032A CN111190636A CN 111190636 A CN111190636 A CN 111190636A CN 201811354032 A CN201811354032 A CN 201811354032A CN 111190636 A CN111190636 A CN 111190636A
- Authority
- CN
- China
- Prior art keywords
- code
- score
- user
- branch
- feedback
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种分支代码持续集成中的自动探测方法及其自动探测装置,所述方法包括:响应于用户发出的分支代码合并请求,获取代码合并过程中的多项反馈参数,所述多项反馈参数用于表征对所述分支代码进行检测的结果;基于所述多项反馈参数计算所述用户的代码得分,所述代码得分用于表征所述用户编写所述分支代码的优劣程度;向所述用户展示所述多项反馈参数和所述代码得分。本发明对持续集成过程中的分支代码进行质量检测,并直观反映每次提出合并请求时所对应的分支代码的质量,同时通过跟踪多次分支代码的合并过程为开发人员进行特征画像,系统性地体现开发人员编写分支代码的优劣程度,为开发人员的自查以及后续审核人员的考评提供理论依据。
Description
技术领域
本发明涉及计算机软件开发领域,具体涉及一种分支代码持续集成中的自动探测方法、装置及存储介质。
背景技术
在计算机软件的敏捷开发过程中,每个开发成员往往需要对分支代码进行多次集成,每次集成都通过自动化检测(包括编译,发布,自动化测试)来进行验证,以确保尽早发现项目风险和质量问题,避免项目延期或者项目失败的风险。
以目前比较热门的版本控制系统git为例,基于git的在线代码托管服务包括gitlab和github,其中gitlab中的merge request命令和github中的pull request命令均适用于提出从分支代码A到分支代码B的合并申请,通过上述申请开发者可以在web页面上看到有关代码质量的探测报告,包括从不同方面对代码检查后的反馈结果,例如编译、风格检查、单元测试等。
然而,上述反馈结果只是把不同的检查内容进行了简单罗列,后续审核人员无法从探测报告中直观了解分支代码的整体质量情况,同时也缺乏对同一开发人员的不同分支代码的跟踪统计,使得上述探测报告的指导意义并不是很大。
发明内容
本发明的目的是提供一种分支代码持续集成中的自动探测方法、装置及存储介质,以至少解决现有技术中代码集成的探测报告无法直观反映代码质量和无法评价开发人员业绩的问题。
为实现上述目的,本发明提供一种分支代码持续集成中的自动探测方法,包括:
响应于用户发出的分支代码合并请求,获取代码合并过程中的多项反馈参数,所述多项反馈参数用于表征对所述分支代码进行检测的结果;
基于所述多项反馈参数计算所述用户的代码得分,所述代码得分用于表征所述用户编写所述分支代码的优劣程度;
向所述用户展示所述多项反馈参数和所述代码得分。
进一步地,所述基于所述多项反馈参数计算所述用户的代码得分的步骤包括:
对所述多项反馈参数进行分值归一化处理,得到多项反馈得分;
按照权重对所述多项反馈分值进行加权合并计算,得到合并得分;
基于所述合并得分,通过冷却算法得到所述用户的所述代码得分。
进一步地,当所述反馈参数为结论表现形式时,所述对所述多项反馈参数进行分值归一化处理的步骤包括:
按照百分制将所述结论转化为对应的得分。
进一步地,当所述反馈参数为分值表现形式时,所述对所述多项反馈参数进行分值归一化处理的步骤包括:
按照百分制将所述分值转化为相对于理论最大值的百分比。
进一步地,所述用户的所述代码得分是基于多个合并得分得到的,所述多个合并得分分别对应于所述用户多次发出的分支代码合并请求命令。
为实现上述目的,本发明还提供一种分支代码持续集成中的自动探测装置,包括:
反馈参数获取模块,适用于响应于用户发出的分支代码合并请求,获取代码合并过程中的多项反馈参数,所述多项反馈参数用于表征对所述分支代码进行检测的结果;
代码得分计算模块,适用于基于所述多项反馈参数计算所述用户的代码得分,所述代码得分用于表征所述用户编写所述分支代码的优劣程度;
展示模块,适用于向所述用户展示所述多项反馈参数和所述代码得分。
进一步地,所述代码得分计算模块包括:
归一化子模块,适用于对所述多项反馈参数进行分值归一化处理,得到多项反馈得分;
加权合并子模块,适用于按照权重对所述多项反馈分值进行加权合并计算,得到合并得分;
冷却计算子模块,适用于基于所述合并得分,通过冷却算法得到所述用户的所述代码得分。
进一步地,所述归一化子模块包括:
第一归一化单元,适用于当所述反馈参数为结论表现形式时,按照百分制将所述结论转化为对应的得分;
第二归一化单元,适用于当所述反馈参数为分值表现形式时,按照百分制将所述分值转化为相对于理论最大值的百分比。
进一步地,所述用户的所述代码得分是基于多个合并得分得到的,所述多个合并得分分别对应于所述用户多次发出的分支代码合并请求命令。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述分支代码持续集成中的自动探测方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述分支代码持续集成中的自动探测方法的步骤。
本发明为分支代码持续集成过程中的自动探测提供了一种更为直观具象的方案。在现有技术从不同方面展现代码检测的反馈结果的基础上,对反馈结果进一步进行了分支归一化处理和分值权重合并处理,能够通过单一指标从整体上反映分支代码的质量问题,方便后续审核人员对分支代码的可用性进行迅速判断。同时本发明通过统计多次历史合并请求生成开发人员的特征画像,从而直接反映出开发人员的整体开发水平,为管理人员后期进行任务分配提供了参考信息。
附图说明
图1是根据本发明实施例的分支代码持续集成中的自动探测方法的一种可选的流程示意图;
图2是根据本发明实施例中获得的多项反馈参数的一种可选的组成示意图;
图3是根据本发明实施例基于多项反馈参数计算用户的代码得分的一种可选的流程示意图;
图4是根据本发明实施例的分支代码持续集成中的自动探测装置的一种可选的程序模块示意图;
图5是根据本发明实施例的代码得分计算模块的一种可选的程序模块示意图;
图6是根据本发明实施例的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明旨在于对持续集成过程中的分支代码进行质量检测,并通过直观的方式整体反映每次提出合并请求时所对应的分支代码的质量,同时通过跟踪多次分支代码的合并过程为开发人员进行特征画像,系统性地体现开发人员编写分支代码的优劣程度,为开发人员的自查以及后续审核人员的考评提供理论依据。下面进行具体说明:
实施例一
请参阅图1,在本实施例中提供了一种分支代码持续集成中的自动探测方法,包括以下步骤:
S1:响应于用户发出的分支代码合并请求,获取代码合并过程中的多项反馈参数,所述多项反馈参数用于表征对所述分支代码进行检测的结果。
持续集成指的是频繁地将代码集成到主干,其核心措施在于,代码集成到主干之前必须进行自动化测试,以便达到快速发现错误、定位错误的目的。实际操作中,开发人每完成一段分支代码后,会提出一次合并请求(merge request)来执行对该分支代码的自动检测,检测完成后会通过多个不同的反馈参数来呈现检测结果。因此,本发明在接收到用户发出的分支代码合并请求时,首先通过各类持续集成(CI)工具来获取相应的反馈参数,以明确该分支代码的自动检测结果。现有技术中常见的CI工具包括CruiseControl,Hudson,LuntBuild,LuntBuild等,本领域技术人员可以根据实际需要任意选择,本发明对此不做限制。
目前现有的CI工具获取的反馈参数包括多种项目内容,例如合并检查(Merge)、更新日志检查(CHANGELOG)、编译检查(Build)、代码隐患检查(GoVet)、静态检查(StaticCheck)、规范性检查(Golint)、格式检查(GoFmt)、单元测试覆盖率(UT Cover)等,在实际操作时,本领域技术人员可以通过选择不同的CI工具来限定不同的反馈参数,也可以根据实际情况对反馈参数进行增加或删减,本发明对此不做限定。图2示出了本实施例的其中一次合并过程中获取到的多个反馈参数,包括Merge,CHANGELOG,Build,GoVet,StaticCheck,Golint,GoFmt,UnusedCode,Gosimple,UnitTest,UT Cover等项目以供参考。
S2:基于所述多项反馈参数计算所述用户的代码得分,所述代码得分用于表征所述用户编写所述分支代码的优劣程度。
通过CI工具获得的反馈参数一般包括两种形式,一种是结论性的结果,一种是分值式的结果。结论性的结果只提供有限数量的结论,例如通过/不通过,true/false,具有这类结论的反馈参数包括合并检查(Merge)、更新日志检查(CHANGELOG)、编译检查(Build)、代码隐患检查(GoVet)、静态检查(StaticCheck)、规范性检查(Golint)、格式检查(GoFmt)等参数项目。分值式的结果则是给出某个具体的数值,例如单元测试覆盖率(UT Cover),其通过百分比数值表征被测代码行数相对于参测代码总行数的百分比。基于上述两种形式的反馈参数结果,如图3所示,本发明需要经过如下步骤的处理过程。
S21:对所述多项反馈参数进行分值归一化处理,得到多项反馈得分,具体表现在:
当所述反馈参数为结论表现形式时,所述对所述多项反馈参数进行分值归一化处理的步骤包括:按照百分制将所述结论转化为对应的得分;
当所述反馈参数为分值表现形式时,所述对所述多项反馈参数进行分值归一化处理的步骤包括:按照百分制将所述分值转化为相对于理论最大值的百分比。
本步骤在计算用户的代码得分之前首先需要对不同的反馈参数结果进行分值归一化处理,本实施例中统一转化为分值形式。对于结论性的结果,通过不同的分值来代表不同的结论。例如对于通过/不通过形式的结果,用100分代表通过,0分代表不通过;或者对于true/false形式的结果,用100分代表ture,用0分代表false。对于分值式的结果,利用公式(p/n)*100来进行转化,式中p代表反馈参数显示的当前数值,n代表该反馈参数的理论最大数值。例如当测试出单元测试覆盖率(UT Cover)为81%时,,相应的计算式为:(81%)/(100%)*100=81分,即经过分值归一化转化后单元测试覆盖率(UT Cover)为81分。
S22:按照权重对所述多项反馈分值进行加权合并计算,得到合并得分。
在进行了分支归一化处理之后,多个反馈参数的结果变得统一起来,但仍然无法直观评价该分支代码的质量。本步骤是根据每一项反馈参数在所有反馈参数中的权重值,通过加权平均的方式得到某次合并请求的整体得分,从而可以通过该唯一确定的分值直接反映出分支代码的质量。以下通过举例详细说明。
假设某次合并请求提出后,得到的反馈参数包括更新日志检查(CHANGELOG)、编译检查(Build)、代码隐患检查(GoVet)和单元测试覆盖率(UT Cover)供5项,每项反馈参数的权重按照实际需要预先设置,例如每项反馈参数所占的权重为:更新日志检查(CHANGELOG)权重为10,编译检查(Build)权重为20,代码隐患检查(GoVet)为5,单元测试覆盖率(UTCover)为10。则合并得分的计算方式为:
(100*20+100*20+100*5+81*10)/(100*(20+20+5+10))*100=96.5
因此,此次合并请求得到的分支代码的合并得分为96.5分。
S23:基于所述合并得分,通过冷却算法得到所述用户的代码得分。
每一次合并请求会得到一个合并得分,用以衡量该次合并请求对应的分支代码的质量。而通过对多次合并请求得到的多个合并得分进行统计,则可以得到一定时间段内该用户(即开发人员)所开发的代码的整体优劣程度。
本发明中用户的代码得分用于评价该用户发起合并请求是所对应的分支代码的整体质量情况。本实施例中,发起合并请求的是该分支代码的开发人员,因此也就是用于评价开发人员的开发水平。代码得分的计算按照以下冷却公式进行:
上式中,Pu表示用户的代码得分;i代表提出合并请求的次数;Pm代表步骤S22中得到的合并得分;t代表提出n次合并请求所经历的的时间;α代表冷却系数,该值越大代表冷却速度越快,本实施例中设置14天后衰减一半,则α=ln0.5/(-14)=0.0495。此时代码得分的计算公式简化为:
代入每次提出合并请求时得到的合并得分,便可以得知该用户执行n次合并请求的代码得分。
本发明获取代码得分的目的是利用该代码得分给开发人员进行用户画像,使得开发人员自身以及后续的审核人员能够对一定时间内该开发人员的业绩有整体的了解,便于开发人员自查以及审核人员进行后续的工作安排。
代码得分的计算可以预先设置固定时间自动进行。例如可以设置每天凌晨3点开始计算用户的代码得分,则每到该预设时间时,本发明会按照用户账户自动统计该用户在一天之内提交的所有分支代码的质量。
S3:向所述用户展示所述多项反馈参数和所述代码得分。
本发明中的多项反馈参数以及代码得分的推送对象即为发起合并请求的用户,也即相应分支代码的开发人员。
在此需要说明的是,本实施例中所展示的多项反馈参数以及代码得分的格式是利用与merge request discussion相兼容的markdown语法相匹配的,该语法的优点在于与现有系统低耦合而无需进行兼容性的变更;同时可以减少跳转次数,用户可以更直观地在merge request中进行查看,无需任何跳转。
进一步地,本发明在展示多项反馈参数的基础上,还可以对每一项反馈参数进行详细展示。例如,当反馈参数中的代码风格检查(GoLint)显示不合规时,可以通过下拉列表的方式具体显示哪些代码不合规,从而快速指导用户进行相应修改。
实施例二
基于上述实施例一中提供的分支检测方法,本实施例中提供一种分支代码持续集成中的自动探测装置,具体地,图4示出了该分支代码持续集成中的自动探测装置的一种可选的结构框图,如图4所示,分支代码持续集成中的自动探测装置10包括反馈参数获取模块11、代码得分计算模块12和展示模块13,以下对各个模块进行详细介绍。
反馈参数获取模块11适用于响应用户发出的分支代码合并请求命令,获取代码合并过程中的多项反馈参数。
目前现有的CI工具获取的反馈参数包括多种项目内容,例如合并检查(Merge)、更新日志检查(CHANGELOG)、编译检查(Build)、代码隐患检查(GoVet)、静态检查(StaticCheck)、规范性检查(Golint)、格式检查(GoFmt)、单元测试覆盖率(UT Cover)等,在实际操作时,本领域技术人员可以通过选择不同的CI工具来限定不同的反馈参数,也可以根据实际情况对反馈参数进行增加或删减,本发明对此不做限定。
代码得分计算模块12适用于基于所述多项反馈参数计算所述用户的代码得分,所述代码得分用于表征所述分支代码的质量。
展示模块13适用于向所述用户展示所述多项反馈参数和所述代码得分。本实施例中所展示的多项反馈参数以及代码得分的格式是利用与merge request discussion相兼容的markdown语法相匹配的,该语法的优点在于与现有系统低耦合而无需进行兼容性的变更;同时可以减少跳转次数,用户可以更直观地在merge request中进行查看,无需任何跳转。
进一步地,如图5所示,所述代码得分计算模块12包括:
归一化子模块121,适用于对所述多项反馈参数进行分值归一化处理,得到多项反馈得分。
本模块用于在计算用户的代码得分之前对不同的反馈参数结果进行分值归一化处理,本实施例中统一转化为分值形式。对于结论性的结果,通过不同的分值来代表不同的结论。例如对于通过/不通过形式的结果,用100分代表通过,0分代表不通过;或者对于true/false形式的结果,用100分代表ture,用0分代表false。对于分值式的结果,利用公式(p/n)*100来进行转化,式中p代表反馈参数显示的当前数值,n代表该反馈参数的理论最大数值。
加权合并子模块122,适用于按照权重对所述多项反馈分值进行加权合并计算,得到合并得分。
本模块根据每一项反馈参数在所有反馈参数中的权重值,通过加权平均的方式得到某次合并请求的整体得分,从而可以通过该唯一确定的分值直接反映出分支代码的质量。
冷却计算子模块123,适用于基于所述合并得分,通过冷却算法得到所述用户的所述代码得分。
本模块通过对多次合并请求得到的多个合并得分进行统计,则可以得到一定时间段内该用户(即开发人员)所开发的代码的整体优劣程度。
代码得分的计算按照以下冷却公式进行:
上式中,Pu表示用户的代码得分;i代表提出合并请求的次数;Pm代表步骤S22中得到的合并得分;t代表提出n次合并请求所经历的的时间;α代表冷却系数,该值越大代表冷却速度越快,本实施例中设置14天后衰减一半,则α=ln0.5/(-14)=0.0495。此时代码得分的计算公式简化为:
代入每次提出合并请求时得到的合并得分,便可以得知该用户执行n次合并请求的代码得分。
进一步地,所述归一化子模块121包括:
第一归一化单元1211,适用于当所述反馈参数为结论表现形式时,按照百分制将所述结论转化为对应的得分;
第二归一化单元1212,适用于当所述反馈参数为分值表现形式时,按照百分制将所述分值转化为相对于理论最大值的百分比。
实施例三
在本发明优选的实施例三中提供一种计算机设备。图5是根据本发明计算机设备实施例的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,计算机设备2至少包括但不限于:可通过系统总线相互通信连接存储器21、处理器22、网络接口23。其中:
存储器21至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储模块,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储模块也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如分支检测方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作,例如执行与计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据。
网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在计算机设备2与其他计算机设备之间建立通信连接。例如,网络接口23用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图5仅示出了具有部件21-23的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的基于代码差异分析的分支检测方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例一中的基于代码差异分析的分支检测方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例一中的基于代码差异分析的分支检测方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种分支代码持续集成中的自动探测方法,其特征在于,包括:
响应于用户发出的分支代码合并请求,获取代码合并过程中的多项反馈参数,所述多项反馈参数用于表征对所述分支代码进行检测的结果;
基于所述多项反馈参数计算所述用户的代码得分,所述代码得分用于表征所述用户编写所述分支代码的优劣程度;
向所述用户展示所述多项反馈参数和所述代码得分。
2.根据权利要求1所述的自动探测方法,其特征在于,所述基于所述多项反馈参数计算所述用户的代码得分的步骤包括:
对所述多项反馈参数进行分值归一化处理,得到多项反馈得分;
按照权重对所述多项反馈分值进行加权合并计算,得到合并得分;
基于所述合并得分,通过冷却算法得到所述用户的所述代码得分。
3.根据权利要求2所述的自动探测方法,其特征在于,当所述反馈参数为结论表现形式时,所述对所述多项反馈参数进行分值归一化处理的步骤包括:
按照百分制将所述结论转化为对应的得分。
4.根据权利要求2所述的自动探测方法,其特征在于,当所述反馈参数为分值表现形式时,所述对所述多项反馈参数进行分值归一化处理的步骤包括:
按照百分制将所述分值转化为相对于理论最大值的百分比。
5.根据权利要求2所述的自动探测方法,其特征在于,所述用户的所述代码得分是基于多个合并得分得到的,所述多个合并得分分别对应于所述用户多次发出的分支代码合并请求。
6.一种分支代码持续集成中的自动探测装置,其特征在于,包括:
反馈参数获取模块,适用于响应于用户发出的分支代码合并请求,获取代码合并过程中的多项反馈参数,所述多项反馈参数用于表征对所述分支代码进行检测的结果;
代码得分计算模块,适用于基于所述多项反馈参数计算所述用户的代码得分,所述代码得分用于表征所述用户编写所述分支代码的优劣程度;
展示模块,适用于向所述用户展示所述多项反馈参数和所述代码得分。
7.根据权利要求6所述的自动探测装置,其特征在于,所述代码得分计算模块包括:
归一化子模块,适用于对所述多项反馈参数进行分值归一化处理,得到多项反馈得分;
加权合并子模块,适用于按照权重对所述多项反馈分值进行加权合并计算,得到合并得分;
冷却计算子模块,适用于基于所述合并得分,通过冷却算法得到所述用户的所述代码得分。
8.根据权利要求7所述的自动探测装置,其特征在于,所述归一化子模块包括:
第一归一化单元,适用于当所述反馈参数为结论表现形式时,按照百分制将所述结论转化为对应的得分;
第二归一化单元,适用于当所述反馈参数为分值表现形式时,按照百分制将所述分值转化为相对于理论最大值的百分比。
9.根据权利要求7所述的自动探测装置,其特征在于,所述用户的所述代码得分是基于多个合并得分得到的,所述多个合并得分分别对应于所述用户多次发出的分支代码合并请求。
10.一种计算机设备,其特征在于,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811354032.6A CN111190636A (zh) | 2018-11-14 | 2018-11-14 | 分支代码持续集成中的自动探测方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811354032.6A CN111190636A (zh) | 2018-11-14 | 2018-11-14 | 分支代码持续集成中的自动探测方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111190636A true CN111190636A (zh) | 2020-05-22 |
Family
ID=70705651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811354032.6A Pending CN111190636A (zh) | 2018-11-14 | 2018-11-14 | 分支代码持续集成中的自动探测方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190636A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793315A (zh) * | 2012-10-29 | 2014-05-14 | Sap股份公司 | 监视和改善软件开发质量 |
CN104335600A (zh) * | 2013-02-25 | 2015-02-04 | 展讯通信(上海)有限公司 | 多麦克风移动装置中检测及切换降噪模式的方法 |
US20150378869A1 (en) * | 2014-06-27 | 2015-12-31 | Vmware, Inc. | Measuring the logging quality of a computer program |
CN105404519A (zh) * | 2015-12-07 | 2016-03-16 | 青岛海信电器股份有限公司 | 一种版本控制方法、代码测试方法及系统 |
CN107341101A (zh) * | 2017-06-01 | 2017-11-10 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 度量fpga软件静态质量的方法 |
CN108510321A (zh) * | 2018-03-23 | 2018-09-07 | 北京焦点新干线信息技术有限公司 | 一种房产用户画像的构建方法及装置 |
-
2018
- 2018-11-14 CN CN201811354032.6A patent/CN111190636A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793315A (zh) * | 2012-10-29 | 2014-05-14 | Sap股份公司 | 监视和改善软件开发质量 |
CN104335600A (zh) * | 2013-02-25 | 2015-02-04 | 展讯通信(上海)有限公司 | 多麦克风移动装置中检测及切换降噪模式的方法 |
US20150378869A1 (en) * | 2014-06-27 | 2015-12-31 | Vmware, Inc. | Measuring the logging quality of a computer program |
CN105404519A (zh) * | 2015-12-07 | 2016-03-16 | 青岛海信电器股份有限公司 | 一种版本控制方法、代码测试方法及系统 |
CN107341101A (zh) * | 2017-06-01 | 2017-11-10 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 度量fpga软件静态质量的方法 |
CN108510321A (zh) * | 2018-03-23 | 2018-09-07 | 北京焦点新干线信息技术有限公司 | 一种房产用户画像的构建方法及装置 |
Non-Patent Citations (1)
Title |
---|
刘洋: ""软件产品质量评价系统的设计与实现"" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3893154A1 (en) | Recommendation model training method and related apparatus | |
Aranha et al. | An estimation model for test execution effort | |
AU2017205763A1 (en) | System, device and method for releasing vehicle insurance surveying task, and readable storage medium | |
CN108492005B (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
CN112884092A (zh) | Ai模型生成方法、电子设备及存储介质 | |
US11455583B2 (en) | Method for selecting worker according to feature of project based on crowd sourcing | |
CN110750653A (zh) | 信息处理方法、装置、电子设备及介质 | |
CN110764999A (zh) | 自动化测试方法、装置、计算机装置及存储介质 | |
CN113094284A (zh) | 应用故障检测方法及装置 | |
US20230086361A1 (en) | Automatic performance evaluation in continuous integration and continuous delivery pipeline | |
CN117271481B (zh) | 数据库自动优化方法及设备 | |
CN111506455B (zh) | 服务发布结果的查验方法及装置 | |
CN111190636A (zh) | 分支代码持续集成中的自动探测方法、装置及存储介质 | |
CN115952098A (zh) | 一种性能测试调优方案推荐方法及系统 | |
KR101927273B1 (ko) | 미청구공사의 위험도 평가 시스템 및 평가 장치 | |
CN107229487B (zh) | 代码处理方法及装置 | |
CN112631929A (zh) | 测试用例生成方法、装置、存储介质及电子设备 | |
CN111159988A (zh) | 一种模型处理方法、装置、计算机设备及存储介质 | |
CN116629980B (zh) | 软件工程的计价方法、终端设备和存储介质 | |
CN110096430B (zh) | 第三方sdk准入测试方法、装置、终端及存储介质 | |
CN110569199B (zh) | 账单自动测试方法及装置 | |
CN112631930B (zh) | 动态系统测试方法及相关装置 | |
CN109614328B (zh) | 用于处理测试数据的方法和装置 | |
CN116882623A (zh) | 一种系统费力度评估方法及系统 | |
CN117421196A (zh) | 性能测试方法及其装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |