2017-07-19 24 views
0

ソースコードファイル全体を除外せずにsonarqube解析からいくつかのコード行を除外する方法はありますか?たぶん注釈などが付いているのでしょうか?sonarqube解析からいくつかのPHPコードを除外

私はあなたに私は未使用の関数パラメータのための特定のコードのにおいを排除するために必要な具体的な例として、あげる:するために

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パラメーターを指定しないと、コールバックメソッドでは拡張が機能しません。そのため、extendメソッドは特定のパラメータセットでコールバックする必要がありますが、インタフェースなどを提供していないため、欠落しているパラメータは自動的にsonarqubeから除外されます。

このコードの匂いだけを除外する方法はありますか?関数やファイル全体をsonarqube解析から除外しないでください。開発ライフサイクルではsonarqubeのさまざまなインスタンスを使用するため、ソースコード内のソリューションを好むので、Webフロントエンドでこのようなコードの匂いを確認するのは難しくなります。

答えて

0

web-uiから問題を解決することもできますし、コード内で行うこともできます。NOSONARコメントを付けてください。

詳細については、the official FAQを参照してください。

+0

迅速な対応に感謝します。 // NOSONARコメント付きの提案された解決策は、ソナーランナーのために働くようです。しかし、このコメントは、IDE(少なくともPHP用)では動作していないようですが、https://jira.sonarsource.com/browse/SLI-20のSonarLint for IntelliJに関するクローズド問題がありました。 –

+0

@GordonGüntherあなたは使っていますか?私のIntelliJでは、「NOSONAR」がうまく動作することを確認しました。それでもIntelliJは引き続きその問題について自らの問題を提起します。これを試してください: 'long i = 0l;'(1 IntelliJ issue + 1 SonarQube issue)、それ以降は 'long i = 0l; // NOSONAR'(1 IntelliJ issue)を試してください。 – slartidan

+0

私はPhpStormを使用していますが、IDEを再起動しても機能しました。 –

関連する問題