从sonarqube分析中排除一些PHP代码行

时间:2017-07-19 07:26:44

标签: php sonarqube code-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);
}

为了使用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中标记此类代码气味将更难维护。

1 个答案:

答案 0 :(得分:2)

您可以通过网络ui解决问题,或者,如果您希望在代码中执行此操作,请使用NOSONAR评论进行标记。

有关详细信息,请参阅the official FAQ