usar new icon example codigo borderfactory java warnings findbugs suppress-warnings

example - new icon java



¿Hay alguna manera de ignorar una sola advertencia FindBugs? (5)

Con PMD, si desea ignorar una advertencia específica, puede usar // NOPMD para que se ignore esa línea.

¿Hay algo similar para FindBugs?


Aquí hay un ejemplo más completo de un filtro XML (el ejemplo anterior por sí solo no funcionará, ya que solo muestra un fragmento y le faltan las <FindBugsFilter> begin and end):

<FindBugsFilter> <Match> <Class name="com.mycompany.foo" /> <Method name="bar" /> <Bug pattern="NP_BOOLEAN_RETURN_NULL" /> </Match> </FindBugsFilter>

Si está utilizando el complemento FindBugs de Android Studio, vaya a su archivo de filtro XML usando Archivo-> Otras configuraciones-> Configuración predeterminada-> Otras configuraciones-> Buscar-IDEAS-> Filtro-> Excluir archivos de filtro-> Agregar.


Como mencionan otros, puede usar la anotación @SuppressFBWarnings . Si no desea o no puede agregar otra Dependencia a su código, puede agregar la Anotación a su Código usted mismo, a los Findbugs no les importa en qué Paquete está la Anotación.

@Retention(RetentionPolicy.CLASS) public @interface SuppressFBWarnings { /** * The set of FindBugs warnings that are to be suppressed in * annotated element. The value can be a bug category, kind or pattern. * */ String[] value() default {}; /** * Optional documentation of the reason why the warning is suppressed */ String justification() default ""; }

Fuente: https://sourceforge.net/p/findbugs/feature-requests/298/#5e88


El enfoque inicial FindBugs implica filters configuración XML aka filters . Esto es realmente menos conveniente que la solución PMD, pero FindBugs funciona en bytecode, no en código fuente, por lo que los comentarios obviamente no son una opción. Ejemplo:

<Match> <Class name="com.mycompany.Foo" /> <Method name="bar" /> <Bug pattern="DLS_DEAD_STORE_OF_CLASS_LITERAL" /> </Match>

Sin embargo, para resolver este problema, FindBugs más tarde introdujo otra solución basada en annotations (vea SuppressFBWarnings ) que puede usar en la clase o en el nivel del método (más conveniente que XML en mi opinión). Ejemplo (tal vez no el mejor pero, bueno, es solo un ejemplo):

@edu.umd.cs.findbugs.annotations.SuppressFBWarnings( value="HE_EQUALS_USE_HASHCODE", justification="I know what I''m doing")

Tenga en cuenta que FindBugs 3.0.0 SuppressWarnings ha quedado en desuso en favor de @SuppressFBWarnings debido al choque de nombre con SuppressWarnings de Java.


Voy a dejar este aquí: https://.com/a/14509697/1356953

Tenga en cuenta que esto funciona con java.lang.SuppressWarnings por lo que no es necesario utilizar una anotación por separado.

@SuppressWarnings en un campo solo suprime las advertencias de findbugs informadas para esa declaración de campo, no todas las advertencias asociadas con ese campo.

Por ejemplo, esto suprime la advertencia "Field only ever set to null":

@SuppressWarnings ("UWF_NULL_FIELD") Cadena s = null; Creo que lo mejor que puedes hacer es aislar el código con la advertencia en el método más pequeño que puedas, luego suprimir la advertencia en todo el método.


Actualizar Gradle

dependencies { compile group: ''findbugs'', name: ''findbugs'', version: ''1.0.0'' }

Busque el informe FindBugs

file: ///Users/your_user/IdeaProjects/projectname/build/reports/findbugs/main.html

Encuentra el mensaje específico

Importar la versión correcta de la anotación

import edu.umd.cs.findbugs.annotations.SuppressWarnings;

Agregue la anotación directamente sobre el código ofensivo

@SuppressWarnings("OUT_OF_RANGE_ARRAY_INDEX")

Vea aquí para más información: findbugs Spring Annotation