【问题标题】:sonarqube "new code" definitionsonarqube“新代码”定义
【发布时间】:2018-04-18 10:31:12
【问题描述】:

是默认的质量门,奇怪的是,我们不清楚“新代码”的定义!

为了说明,假设我们通过添加新代码来更改文件。默认声纳质量门分析是仅对新代码行还是整个文件进行? 我们不清楚,但怀疑它是整个文件!同事告诉我,项目未能通过质量关卡,因为带有预先存在的阻止程序等的文件被触摸/更改。

任何澄清将不胜感激。

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    首先,分析会扫描每个文件的每一行。

    我们说

    • 我使用的是最新版本的 SonarQube
    • 我已将泄漏期(可在全局和项目级别配置)设置为 30 天

    这意味着在过去 30 天内添加或更新的任何行代码都被视为“新”,因此,“处于泄漏期”。

    如果我提交添加了错误,它会在“新代码”中标记为错误。

    如果我用现有错误更改了一行但不修复错误(为什么???)那么我在“新”代码上有一个“旧”错误。由于假设您将“在编写代码时进行清理”(包括修复您正在处理的代码中的旧问题),因此没有投入任何工作来“正确”处理这种情况。

    【讨论】:

    • 仅供参考,为给定项目设置此项,转到管理 -> 常规 ->(向下滚动到)“新代码周期”
    • 那么什么是“泄漏期”与“新代码期”?我很混乱。我不明白我应该将新代码周期和泄漏周期设置为什么,因为我不知道它们是如何出现在声纳指标或报告中的
    【解决方案2】:

    要全局定义新代码周期,请访问Administration -> Configuration -> General Settings -> New Code Period:

    对于项目特定的设置,请转到项目上的Administration -> New Code Period:

    SonarQube documentation 解释了 Previous Version 和 Number of days 两种模式。

    【讨论】:

      猜你喜欢
      • 2017-09-13
      • 2017-01-14
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-03
      • 2016-02-07
      相关资源
      最近更新 更多