Mostrando entradas con la etiqueta S3504. Mostrar todas las entradas
Mostrando entradas con la etiqueta S3504. Mostrar todas las entradas

jueves, 23 de enero de 2025

Sonarqube. Eliminar una regla en vs code

Introducción:

Sonarqube nos permite detectar hasta ahora 331 deficiencias del código en Visual Studio como:

  1. No tener código comentado. Quiere que los comentarios sean expícitos de lo que se hace y no quiere que llenemos de código basura los comentarios.
  2. Detecta variables que no se usan
  3. Detecta codigo repetitivo. Por ejemplo si asignamos varias veces a diferentes variables tipo "string" el mismo valor, quiere que definamos una constante y que asignemos a cada variable esta constante.
  4. En python se queja que utilicemos la nomenclatura "camel case" (miCasa) de Java y nos pide que la cambiemos a "snake case" (mi_casa) para el caso particular de Python
  5. Detecta condiciones que no se van a ejecutar (código inalcanzable)
  6. Verifica que la correcta declaración de funciones y que devuelvan el número y tipo de valores que se han definido. También verifica las llamadas
  7. Se hace cargo de las variables que vamos a utilizar resultrado de la llamada a una función. Las que no utilicemos quiere que las nombremos con un guión bajo "_"



Eliminar una regla:

En concreto la regla javascript:S3504 nos recomienda a utilizar "let" o "const" para definir variables de módulo prohibiendo el uso de "var" para estos casos. 

tenemos este código 

// sonarqube nos aconseja utilizar "const" o "let" y NO "var"!
const colQuotes=''; 

Pero cuando este módulo se recarga con htmx da el error para la variable :

VM535528:1 Uncaught SyntaxError: Failed to execute 'insertBefore' on 'Node': Identifier 'colQuotes' has already been declared

Para desactivar la regla en VS Code hacemos:

  1. File + Preferences + Settings
  2. Buscamos "sonarlint.rules" y hacemos Edit en "settings.json"
  3. Añadimos esta línea y quedará así

"sonarlint.rules": {
	"javascript:S3504": {
            "level": "off"
        }
}