Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajustar código según ajustes requeridos por SonarQube en el API Mid. #791

Open
9 of 16 tasks
diagutierrezro opened this issue Oct 21, 2024 · 2 comments
Open
9 of 16 tasks
Assignees

Comments

@diagutierrezro
Copy link
Contributor

diagutierrezro commented Oct 21, 2024

Se requiere realizar los ajustes necesarios (que sean posibles) en el API Mid de Pólux con el objetivo de reducir los errores generados en el reporte de SonarQube.

Sub Tareas

  • Realizar ajustes según reporte del sonar que no afecten el funcionamiento normal del mid.
  • Documentar modificaciones realizadas.

Criterios de aceptación

  • Ajustes realizados.
  • Documentación realizada.

Requerimientos

No aplica

Definition of Ready - DoR

  • Está refinada y estimada en puntos de historia por el equipo.
  • Incluye la descripción y criterios de aceptación, con el detalle funcional y especificaciones técnicas, de forma entendible por cualquier miembro del equipo.
  • No tiene bloqueos que impidan su ejecución.
  • Las dependencias están identificadas y resueltas.
  • Puede ser probada dentro del Sprint.

Definition of Done - DoD - Desarrollo

  • Desarrollo en local.
  • Push en Feature.
  • Pruebas locales (funcionales).
  • PR a Develop.
  • Criterios de aceptación cumplidos.
  • Documentación de issue realizada.
  • Aprobada por SM/Líder técnico.
@JuanDHernandezA
Copy link
Collaborator

Se comienza con la solución de errores del API MID reportados en el Sonarqube:
Image

Revisando los bugs, todos están en los archivos autogenerados por el Swagger, por lo que no pueden solucionar o cambiar:
Image

Se comienza la revisión y corrección de Code Smell:

  • Se elimina función con misma lógica que otra función en el mismo archivo de verificarRequisitos:
    Image

Se prueba su funcionalidad y responde correctamente:
Image

  • Se corrigen varias variables que no cumplían con las reglas de definición de variables:
    Image
    Image
    Image

  • Se encuentra que la mayoría de errores reportados tiene que ver con reducir el número de 'if's' dentro de una función, pero este error no se puede corregir debido a que todas las peticiones que se realizan al API CRUD empiezan con un condicional:
    Image

  • Otro error que se presenta con frecuencia es la redefinición de la variable "url", pero no se puede eliminar este error debido a que esta variable se usa cada vez que se envía una petición al API CRUD:
    Image

  • Se corrige condicional vacío:
    Image

  • Se observa que en la sección de Code Smell tambien contiene errores en los archivos del swagger. Se seleccionan estos archivos para obtener el número de errores que contienen y se observa que es la gran mayoría:
    Image

@JuanDHernandezA
Copy link
Collaborator

Después de corregir los errores con los nombres de las variables, se verifica la funcionalidad de los siguientes transacciones modificadas:

  • verificarRequisitos
  • tr_respuesta_solicitud
  • tr_vinculacion_registrar_nota

Por lo que se prueba el flujo completo de las solicitudes y la funcionalidad de registrar las notas.

Se realizaron las pruebas al flujo completo para la modalidad de Monografía, en donde no se presentó ninguna novedad, todos los cambios realizados funcionan de forma correcta.

Se vuelve a correr las pruebas del Sonarqube y se observa la reducción de número de errores:
Image

Si seleccionamos los archivos no relacionados con el swagger se observa la reducción de errores (55 inicialmente) y también que los errores que se reportan son aquellos que no se pueden corregir (reducción de número de if's y declaración múltiple de la misma variable):
Image

Con lo cual las correcciones en el API MID se han finalizado.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants