0
是有办法排除来自sonarqube分析一些代码行,不排除整个源代码文件?也许有一个注释或类似的东西?排除的PHP代码的某些行从sonarqube分析
我给你举个具体的例子,在那里我需要排除某个代码异味未使用的功能参数:
我实现这样的验证方法:
public function validateTruth(string $attribute, $value) : bool
{
$acceptable = [
'0',
0,
'false',
false,
'1',
1,
'true',
true,
'no',
'yes',
];
return in_array($value, $acceptable, true);
}
以扩展\照亮\合同\验证\厂与扩展方法:
$validationFactory->extend(
'truth',
Validator::class . @validateTruth',
'The :attribute field must be some kind of truth value.'
);
我实现不使用所有必需的参数,但我不能只是省略了第一个参数。没有$ attribute参数的情况下,这个扩展将无法使用回调方法。所以扩展方法显然需要一个具有一定参数集的回调函数,但它不提供一个接口或类似的东西,所以缺少的参数会自动从sonarqube中排除。
是有办法排除仅此代码味道,但不排除从sonarqube分析整体功能或文件?我更喜欢源代码中的解决方案,因为我们在开发生命周期中使用了不同的sonarqube实例,所以在web前端中标记这样的代码会更难以维护。
感谢您的快速反应。带有// NOSONAR评论的建议解决方案似乎适用于声纳跑步者。但此评论似乎并不在IDE中工作(至少对于PHP)虽然有对SonarLint的IntelliJ一个封闭的问题在https://jira.sonarsource.com/browse/SLI-20 –
@GordonGünther哪个IDE是你在用吗?在我刚刚验证的IntelliJ中,'NOSONAR'正常工作。尽管如此,IntelliJ将继续在这些方面提高自己的问题。试试这个:'long i = 0l;'(1个IntelliJ问题+ 1个SonarQube问题),然后:'long i = 0l; // NOSONAR'(1个IntelliJ问题)。 – slartidan
我正在使用PhpStorm,并且在重新启动它的IDE后。 –