【发布时间】:2018-04-18 10:31:12
【问题描述】:
是默认的质量门,奇怪的是,我们不清楚“新代码”的定义!
为了说明,假设我们通过添加新代码来更改文件。默认声纳质量门分析是仅对新代码行还是整个文件进行? 我们不清楚,但怀疑它是整个文件!同事告诉我,项目未能通过质量关卡,因为带有预先存在的阻止程序等的文件被触摸/更改。
任何澄清将不胜感激。
【问题讨论】:
标签: sonarqube
是默认的质量门,奇怪的是,我们不清楚“新代码”的定义!
为了说明,假设我们通过添加新代码来更改文件。默认声纳质量门分析是仅对新代码行还是整个文件进行? 我们不清楚,但怀疑它是整个文件!同事告诉我,项目未能通过质量关卡,因为带有预先存在的阻止程序等的文件被触摸/更改。
任何澄清将不胜感激。
【问题讨论】:
标签: sonarqube
首先,分析会扫描每个文件的每一行。
我们说
这意味着在过去 30 天内添加或更新的任何行代码都被视为“新”,因此,“处于泄漏期”。
如果我提交添加了错误,它会在“新代码”中标记为错误。
如果我用现有错误更改了一行但不修复错误(为什么???)那么我在“新”代码上有一个“旧”错误。由于假设您将“在编写代码时进行清理”(包括修复您正在处理的代码中的旧问题),因此没有投入任何工作来“正确”处理这种情况。
【讨论】:
要全局定义新代码周期,请访问Administration -> Configuration -> General Settings -> New Code Period:
对于项目特定的设置,请转到项目上的Administration -> New Code Period:
SonarQube documentation 解释了 Previous Version 和 Number of days 两种模式。
【讨论】: