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")