usar ejemplo codigo java jenkins sonarqube findbugs

java - ejemplo - private jlabel



Desactivando Sonar para cierto código (4)

¿Es posible desactivar mediciones de sonar ( www.sonarsource.org ) para bloques específicos de código, que no se quiere medir?

Un ejemplo es la advertencia "Preserve Stack Trace" que arroja Findbugs. Al abandonar el servidor, es posible que desee solo devolver el mensaje al cliente, sin incluir la excepción real que acabo de capturar, si esa excepción es desconocida para el cliente (porque el cliente no tiene el JAR en el que ese excepción fue contenido por ejemplo).


No puedo encontrar el número de calamar en el sonar 5.6, con esta anotación también funciona:

@SuppressWarnings({"pmd:AvoidCatchingGenericException", "checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"})


Puede anotar una clase o un método con SuppressWarnings

@java.lang.SuppressWarnings("squid:S00112")

calamar: S00112 en este caso es una ID de problema de Sonar. Puede encontrar esta identificación en la interfaz de usuario de Sonar. Vaya a Edición de problemas. Encuentre un problema sobre el que quiera suprimir las advertencias. En el cuadro de problema rojo de su código, hay un enlace de Regla con una definición de un problema determinado. Una vez que haga clic en él, verá la identificación en la parte superior de la página.


Te recomiendo que trates de suprimir advertencias específicas usando @SuppressWarnings("squid:S2078") .

Para suprimir múltiples advertencias, puede hacerlo así @SuppressWarnings({"squid:S2078", "squid:S2076"})

También está el comentario //NOSONAR que le dice a SonarQube que ignore todos los errores de una línea específica.

Finalmente, si tiene los derechos adecuados para la interfaz de usuario, puede emitir un indicador como falso positivo directamente desde la interfaz.

La razón por la que recomiendo la supresión de advertencias específicas es que es una mejor práctica bloquear un problema específico en lugar de usar //NOSONAR y arriesgar un problema de Sonar que se arrastra en su código por accidente.

Puede leer más sobre esto en las FAQ

Nota: Gábor Bakos señala las preguntas frecuentes más antiguas que ahora son 404. Este es el primer resultado de google para mí, así que quiero ayudar a cualquier otra persona que pueda tener la misma pregunta

Editar: 30/6/16 SonarQube ahora se llama SonarLint

En caso de que te preguntes cómo encontrar el número de calamar. Simplemente haga clic en el mensaje Sonar (por ejemplo, Remove this method to simply inherit it. ) y se ampliará el problema de Sonar.

En la parte inferior izquierda tendrá el número de calamar (por ejemplo, squid:S1185 Mantenibilidad> Comprensibilidad)

Entonces puedes suprimirlo por @SuppressWarnings("squid:S1185")


Esta es una FAQ Puede poner //NOSONAR en la línea que activa la advertencia. Aunque prefiero utilizar el mecanismo FindBugs, que consiste en agregar la anotación @SuppressFBWarnings:

@edu.umd.cs.findbugs.annotations.SuppressFBWarnings( value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE", justification = "Why you choose to ignore it")