4
Project Lombokの@Getter
注釈を使用している間に偽陽性を発見したと思います。SonarQube偽陽性squid:@Getter(lombok)注釈付きフィールドのS1450
次の例のクラスでは、「メソッドのローカル変数としてのみ使用されるプライベートフィールドはローカル変数にする必要があります」というメッセージが表示されます(squid:S1450
)。
public class Example {
@Getter
private String exampleField; // <-- squid:S1450
public Example(final String value) {
setExampleField(value);
}
private void setExampleField(final String exampleField) {
this.exampleField = exampleField;
}
}
誰かがこれを確認できますか? SonarQubeルールのバグですか、私のクラスやこのルールや@Getter
注釈の理解が間違っていますか?ただ、完全を期すため
:
- プロジェクトロンボク注釈や生成されたメソッドは、他のSonarQubeルールで正しく認識されています。だから、私の設定は大丈夫だと思います。
- 私も
@Getter
アノテーションをクラスレベルに配置しようとしましたが、私は同じ警告を受けました。 - この警告は、SonarLint(IntelliJ IDEA)およびSonarQubeのWebインターフェイスに表示されます。だから私は、アナライザを実行している間はエラーではないと思う。
- IntelliJ IDEAのSonarLint pluignをSonarQube Serverにバインドしましたが、このリモート接続が機能します。
- SonarQube 6.0
- SonarQubeのJavaプラグイン4.2
- (のIntelliJ IDEAのための)SonarLint 2.3.2
- のIntelliJ IDEA 2016年2月5日 :私は次のバージョンでテストしている
- Java 8