基于SonarQube的增量代码扫描

前言


       很多团队刚开始推行使用SonarQube进行代码质量管理的时候总会遇到一个揪心的问题:因为很多旧项目之前压根就没用这套工具,团队一上来兴致勃勃的就拿着这个工具跑指标,新鲜感很强,毕竟人是好奇的动物。然鹅,几分钟后的结果却是意料之外:几乎接近于0的测试覆盖率,几千上万个bad taste、bug和等等不一而足,然后跑多两次后大家就从兴趣盎然到心如死灰。本人的团队就是一个血淋淋的现实,然后这样也在逼着我去想应该用什么方法激起大家使用新工具的兴趣呢,毕竟行政干预从来就不是一个那么友好,或者说简直是粗暴的方式。

    后来,我想既然要引导兴趣,肯定要让同事觉得坑不大,可以越过的,然后一步一步改善的。后来就想到分以下两步走:

1、先把所有团队画一个基线(baseline);

2、然后只针对增量代码进行扫描(即对sonarqube中的质量阈中的以“新XXX”开头等度量指标全部设为不大于0,这意味着只做增量代码扫描)。

画基线


1、在sonar-project.properties中,把sonar.projectVersion=1.1(初始值,这里以1.1作为基线)

# 指定项目的版本为1.1
sonar.projectVersion=1.1
2、在命令行运行sonnar-scanner命令,得到整个项目的质量基线。

项目质量基线

设置并运行
1、在sonarqube中,添加以“新”开头的指标,并同时把它的指标设成0,即代表增量代码扫描;并同时把leak period 设成默认的previous_version。

2、开始在工程中人为添加坏味道等不规范的代码,然后跑sonar-scanner进行扫描。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PID控制是一种常用的自动控制算法,被广泛应用于各种控制系统中。PID代表比例(Proportional)、积分(Integral)和微分(Derivative),通过根据偏差的大小,来计算出一个调节量,从而实现对系统的稳定控制。 在Arduino中实现PID控制,可以使用增量式的方法来编写代码增量式PID控制是通过计算当前偏差和上一次的偏差之差,来确定调节量的大小。 首先,需要定义一些常数,如比例系数Kp、积分系数Ki和微分系数Kd。这些参数的选择需要根据具体的控制需求和系统特性进行调试和优化。 然后,在每个控制周期内,需要获取当前的反馈值和目标值,并计算出当前的偏差。 接下来,根据增量式PID控制算法的公式,计算出控制器的输出增量。 最后,将输出增量与上一次的输出值相加,得到最终的输出值,并将其作为控制器的输出。 需要注意的是,在增量式PID控制中,为了保持计算的准确性,需要保存上一次的偏差值和输出值,作为下一次计算的输入。 需要特别强调的是,PID控制是一种经验性的算法,对于不同的系统和控制要求,需要进行不同的调参和优化。因此,在编写PID增量代码时,需要根据具体情况进行调试和修改,以实现对目标系统的最佳控制效果。 ### 回答2: PID是一种用于控制系统的反馈控制算法,常用于调节温度、速度等参数的实时控制。在Arduino中,可以使用PID增量代码来实现PID控制。 PID增量代码的核心思想是将PID控制器输出的增量值与上一次的控制量相加,得到新的控制量。具体实现步骤如下: 1. 定义PID控制器的参数,包括比例系数Kp、积分时间常数Ki和微分时间常数Kd。 2. 定义变量,包括上一次的偏差值error和上一次的控制量output。 3. 在循环中,读取被控制对象的当前状态,计算当前的偏差值error。 4. 根据PID控制器的公式,计算比例控制部分、积分控制部分和微分控制部分的输出量,分别为proportional、integral和derivative。 5. 将输出量相加得到PID控制器的输出增量值,即delta。 6. 将输出增量值与上一次的控制量相加得到新的控制量,即output = output + delta。 7. 将新的控制量输出给被控制对象。 通过不断循环以上步骤,PID控制器可以根据被控制对象的实时状态进行调节,来实现精确的控制。PID增量代码相对于传统PID代码的优点是可以减少积分分离现象,响应更加迅速。 总之,PID增量代码通过将PID控制器的输出增量与上一次的控制量相加,实现了对被控对象的实时控制。在Arduino中,可以利用该代码实现各种参数的调节与控制。 ### 回答3: Arduino中的PID增量算法是一种用于控制系统的自适应控制算法。PID代表比例、积分和差分控制。增量PID算法将上一时刻的控制量与当前的误差相比较,通过增加或减小控制量来实现系统的稳定控制。 在增量PID算法中,比例项的计算是通过将当前误差与前一时刻的误差相减得到增量误差,进而乘以比例系数得到比例增量。积分项的计算是通过将当前误差与前一时刻误差相乘得到增量误差,再乘以积分时间常数得到积分增量。差分项的计算是通过当前误差与前一时刻误差的差除以采样时间得到差分增量增量PID算法的核心思想是通过计算增量误差来调整控制量,避免控制量的突变。这样可以减小系统的震荡和振荡现象,提高系统的响应速度和稳定性。 Arduino平台提供了用于增量PID控制的相关库和函数。用户可以通过编写代码来定义比例、积分和差分系数,设置采样时间和积分时间常数,从而实现PID控制。 综上所述,Arduino中的PID增量代码可以通过计算增量误差来调整控制量,提高系统的控制精度和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值