SonarQube 將“重復代碼塊”報告給不同的簡單 POJO 類,如下所示。在這種情況下,A和B是不同的角色。所以,我認為我不應該創建抽象類。public class A{ private String xxx; // omitted other fields. public A() {} public String getXxx() { return xxx; } public void setXxx(String xxx) { this.xxx= xxx; } // omitted other fields' setter and getter}public class B{ private String xxx; // omitted other fields. public B() {} public String getXxx() { return xxx; } public void setXxx(String xxx) { this.xxx= xxx; } // omitted other fields' setter and getter}嚴重性是主要的。所以,我想忽略它。然后,我將 @SuppressWarning("common-java:DuplicatedBlocks") 和 @SuppressWarning("all") 添加到兩個類中。但它不能被忽視。雖然在JIRA中提出了類似的問題,但尚未解決。我的 SonarQube 的版本是 6.5。謝謝!
3 回答

開心每一天1111
TA貢獻1836條經驗 獲得超13個贊
有多種方法可以實現這一點,具體取決于您對此重復問題的重視程度。SonarQube 報告它發現的內容,完全由您決定如何處理它。
如果您認為這確實是一個問題,則必須重構您的代碼:SonarQube 在沒有重復時無法報告重復
如果您認為此特定實例不是問題,您可以降低問題的嚴重性,或將其標記為“無法修復”,并為將要跟隨您的人提供一個很好的評論 - 我相信使用
@SuppressWarnings
當 SonarQube 中有專用功能時,對此的注釋有點濫用如果您認為 SonarQube 甚至不應該引發關于重復代碼的問題,您可以禁用規則(核選項),或者設置您的分析以忽略 POJO 包的重復
例如,您可以將以下屬性添加到您的掃描儀配置中:
sonar.cpd.exclusions=path/to/your/package/*.java

RISEBY
TA貢獻1856條經驗 獲得超5個贊
最好的方法是調整質量門以滿足您的需要。需要記住,默認的內置質量門是標準的,應該始終是首選。
復制默認值并創建一個新的質量門。編輯它以根據您的舒適程度(取決于您的項目需要)接受重復百分比。
添加回答
舉報
0/150
提交
取消