從FindBugs中學Java【四】

5.TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED java

6.TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS web

7.TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK 工具

8.TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK spa

9.TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK .net

10.TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK orm

11.TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED blog

12.TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED 索引

 

 

    今天這個比較有意思。ci

    從JSR-305提及,findbugs的老大馬里蘭大學的Bill Pugh (William Pugh)牽頭制訂了JSR-305做爲一套註解標準,用來幫助靜態分析工具處理代碼,開始不少大廠都在響應,不過這個標準不少年沒更新了(since 11 Sep, 2006),並且跟JSR-308有很像,並且Java8裏彷佛都沒有包含JSR-305。get

    有興趣的,能夠參考JSR-308, 在JEP-104上有Java應用的詳細資料。

    從一份FindBugs 2.0.3的資料上看,好像有相似的幾個關鍵字都與JSR-305相關。本系列第一篇文章基於另外一個版本的,因此索引中的例子少了幾個。

模式

TQ

速度

缺陷類別

正確性

類型

edu.umd.cs.findbugs.detect.CheckTypeQualifiers

說明

檢查變量是否違反由JSR-305類型的修飾符註解所指定的屬性。

報告模式

1. TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED (TQ, CORRECTNESS): 變量在不能帶有一個類型修飾符的地方卻帶有這個類型修飾符

2. TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS (TQ, CORRECTNESS): 比較不兼容的類型修飾符所修飾的變量

3. TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK (TQ, STYLE): 將須要帶有類型修飾符的變量標記爲未知

4. TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK (TQ, STYLE): 將不須要帶有類型修飾符的變量標記爲未知

5. TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK (TQ, CORRECTNESS): 變量可能不帶有一個類型修飾符,但使用時卻老是須要它帶有這個類型修飾符

6. TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK (TQ, CORRECTNESS): 變量可能帶有一個類型修飾符,但使用時卻禁止它帶有這個類型修飾符

7. TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED (TQ, CORRECTNESS): 在須要變量帶有一個類型修飾符的地方,卻將這個變量註解爲從不帶有這個類型修飾符

8. TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED (TQ, CORRECTNESS): 變量在須要帶有類型修飾符的地方卻沒有帶有這個類型修飾符

休眠的標準,例子就不舉了~

 

Ref: 1  2  3  4  5

相關文章
相關標籤/搜索