有没有办法从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);
}
为了使用extend方法扩展\ Illuminate \ Contracts \ Validation \ Factory:
$validationFactory->extend(
'truth',
Validator::class . @validateTruth',
'The :attribute field must be some kind of truth value.'
);
我的实现并没有使用所有必需的参数,但我不能忽略第一个参数。如果没有$ attribute参数,扩展将无法使用回调方法。因此,extend方法显然需要使用一组参数进行回调,但它不提供接口或类似的东西,因此缺少的参数将自动从sonarqube中排除。
有没有办法只排除这种代码气味,而不排除sonarqube分析中的整个函数或文件?我更喜欢源代码中的解决方案,因为我们在开发生命周期中使用了不同的sonarqube实例,因此在webfrontend中标记此类代码气味将更难维护。