是否有任何Checkstyle,PMD或Findbugs規則可以找到以下非線程安全的單例實現?查找非線程安全單例彈簧實現的代碼質量規則
private String helperVar;
public String getValue(String value) {
helperVar = value;
return convertValue();
}
private String convertValue() {
return helperVar.trim();
}
我知道這個示例是可怕的,但它是顯示我的意思的最簡單的方法。
在一次執行中從bean執行getValue方法時,它會正常工作。 但是,在多用戶環境中執行它時,會導致不可預知的錯誤/行爲。
有沒有辦法找到這些發生而無需手動通過代碼?是否有任何靜態代碼檢查器可以自動檢查它和它的每個變化?
一個字段的setter和'toString'基於該字段,連續調用,已經足夠了。毛骨悚然。 –
感謝您試圖幫助我,但我沒有問題的代碼我只想自動找到相同模式的其他發生, 所以沒有任何問題與示例代碼有關。問題僅僅是關於可用的代碼檢查器。 – B4dT0bi
我沒有批評代碼,但想要指出你的代碼模式,「改變一個字段並計算該字段的多次出現」_,是非常常見的。 –