从 sonarqube 分析中排除一些 php 代码行
Exclude some lines of php code from sonarqube analysis
有没有办法在不排除整个源代码文件的情况下从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);
}
为了使用扩展方法扩展 \Illuminate\Contracts\Validation\Factory:
$validationFactory->extend(
'truth',
Validator::class . @validateTruth',
'The :attribute field must be some kind of truth value.'
);
我的实现没有使用所有必需的参数,但我不能只省略第一个参数。如果没有 $attribute 参数,扩展将无法与回调方法一起使用。所以 extend 方法显然需要一个带有特定参数集的回调,但它不提供接口或类似的东西,所以缺少的参数会自动从 sonarqube 中排除。
有没有办法只排除这种代码味道,而不从声纳分析中排除整个函数或文件?我更喜欢源代码中的解决方案,因为我们在开发生命周期中使用不同的 sonarqube 实例,因此在 webfrontend 中标记此类代码味道将更难维护。
您可以通过网络解决此问题-ui,或者,如果您更喜欢在代码中解决问题,请用 NOSONAR
注释进行标记。
有关详细信息,请参阅 the official FAQ。
有没有办法在不排除整个源代码文件的情况下从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);
}
为了使用扩展方法扩展 \Illuminate\Contracts\Validation\Factory:
$validationFactory->extend(
'truth',
Validator::class . @validateTruth',
'The :attribute field must be some kind of truth value.'
);
我的实现没有使用所有必需的参数,但我不能只省略第一个参数。如果没有 $attribute 参数,扩展将无法与回调方法一起使用。所以 extend 方法显然需要一个带有特定参数集的回调,但它不提供接口或类似的东西,所以缺少的参数会自动从 sonarqube 中排除。
有没有办法只排除这种代码味道,而不从声纳分析中排除整个函数或文件?我更喜欢源代码中的解决方案,因为我们在开发生命周期中使用不同的 sonarqube 实例,因此在 webfrontend 中标记此类代码味道将更难维护。
您可以通过网络解决此问题-ui,或者,如果您更喜欢在代码中解决问题,请用 NOSONAR
注释进行标记。
有关详细信息,请参阅 the official FAQ。