ispp-2324-ocial / backend

🖥️Ocial's internal services
GNU Affero General Public License v3.0
1 stars 0 forks source link

REFACTOR: SonarLint warnings #114

Closed carvarsou closed 3 months ago

carvarsou commented 3 months ago

SonarLint muestra que hay 26 warnings en develop a partir del commit ec627bf84d7496be1e341706920e02e235e65214, de los cuales el análisis de SonarCloud considera 2 como code smells de importancia alta en cuanto a mantenibilidad:

Debe de corregirse estos 2 code smells y los 24 warnings restantes para mejorar la mantenibilidad del código, siendo el primero de ellos de suma importancia.

¿Cómo reducir la complejidad del filtrado de eventos?

Todos los if definidos en EventFiltered se pueden extrapolar a otro fichero filters.py que contenga las funciones de filtro de categoría, fecha, distancia y like. Estas cuatro funciones definidas en filters.py filtran los eventos por uno de los cuatro parámetros:

Será responsabilidad de la función EventFiltered en event/views.py de llamar a estas cuatro funciones y obtener todas las combinaciones de filtrado posibles.

Además, la función EventFiltered o GET /api/event/filtered hace lo mismo que GET /api/event/list cuando no recibe parámetros. Se pueden fusionar ambas funciones y obtener que GET /api/event/list liste eventos con los parámetros opcionales de filtrado: categoría, fecha, distancia y like.

carvarsou commented 3 months ago

La refactorización del filtrado de eventos se ha completado en la PR #115, queda pendiente refactorización de código para eliminar los warnings restantes.