7
我開始了與Sonar的冒險;)UnnecessaryLocalBefore返回 - 爲什麼它不好?
聲納與它的默認配置PMD UnnecessaryLocalBefore返回錯誤設置在主要級別上。
List<Todo> filtered = em.createQuery(query).getResultList();
return filtered;
這意味着我應該改變上面的代碼在一行。
對我來說這真的很有趣,因爲我建議我的同事在返回之前將這個「不必要的」本地化。
我覺得它很容易調試。當我在返航線上設置斷點時,我確信當我到達那裏時,這個值將準備就緒,我不必對我的陳述進行選擇,或者做「超越表達式」。
除了我相信它對減少方法中的回報點有積極的影響。
我的問題是:是否有某種解釋/討論爲什麼Checkstyle,PMD,FindBugs等項目的錯誤被確認爲錯誤?
這並不壞,只是沒有必要。這些靜態分析工具不會簡單地標記錯誤。相反,他們提供了用於檢查各種事物的工具箱,其選擇取決於您正在開發的軟件種類。您的項目可能會要求您儘可能使用盡可能少的代碼行,或者您的特殊編譯器不會優化這種情況,並且您無法應付額外的時鐘週期...然後,此項檢查適合您。否則你可以安全地關閉它。 –
這是一個很好的相關問題:http://stackoverflow.com/questions/31733811/local-variables-before-return-statements-does-it-matter/31734226#31734226 –