5.tq_always_value_used_where_never_required
6.Tq_comparing_values_with_incompatible_type_qualifiers
7.Tq_explicit_unknown_source_value_reaches_always_sink
8.tq_explicit_unknown_source_value_reaches_never_sink
9.tq_maybe_source_value_reaches_always_sink
10.tq_maybe_source_value_reaches_never_sink
11.tq_never_value_used_where_always_required
12.tq_unknown_value_used_where_always_strictly_required
It's more interesting today.
From JSR-305, FindBugs's eldest brother, Bill Pugh of the University of Maryland, led the JSR-305 as a set of annotation standards to help static analysis tools handle code, starting to respond to many big manufacturers. However, this standard has not been updated for many years (since Sep, 2006), and JSR-308 have a very similar, and JAVA8 does not seem to contain JSR-305.
If you are interested, you can refer to JSR-308 and have detailed information on the Java application on the JEP-104.
From a copy of the FindBugs 2.0.3 , it seems that there are several similar keywords that are related to JSR-305. The first article in this series is based on another version, so the examples in the index are few.
Mode |
Tq |
Speed |
Slow |
Defect Category |
Correctness |
Type |
Edu.umd.cs.findbugs.detect.CheckTypeQualifiers |
Description |
Checks whether the variable violates the property specified by the modifier annotation for the JSR-305 type. |
report Mode |
1. tq_always_value_used_where_never_required (TQ, correctness): A variable has this type modifier 2 where it cannot have a type modifier. Tq_comparing_values_with_incompatible_type_qualifiers (TQ, correctness): Compares the incompatible type modifier to the variable 3. Tq_explicit_unknown_source_value_reaches_always_sink (TQ, STYLE): A variable that requires a type modifier is marked as unknown 4. Tq_explicit_unknown_source_value_reaches_never_sink (TQ, STYLE): A variable that does not need a type modifier is marked as unknown 5. Tq_maybe_source_value_reaches_always_sink (TQ, correctness): A variable may not have a type modifier, but it is always required with the type modifier 6. Tq_maybe_source_value_reaches_never_sink (TQ, correctness): A variable may have a type modifier, but it is disabled with the type modifier 7. Tq_never_value_used_where_always_required (TQ, correctness): When a variable with a type modifier is required, the variable is annotated as never with the type modifier 8. Tq_unknown_value_used_where_always_strictly_required (TQ, correctness): The variable does not have the type modifier in place with the type modifier |
The standard of sleep, the example does not raise ~
Ref:1 2 3 4 5
From FindBugs Middle School Java "four"