PG_C04_Conclusiones - DAAS26-P-C/poolobject GitHub Wiki

Conclusiones

¿Es objetiva la identificación de defectos mediante reglas de detección? Es decir ¿la regla de detección puede identificar falsos positivos en las entidades de código?

La identificación de defectos mediante reglas de detección no es del todo objetiva, ya que depende de los valores umbrales y patrones predefinidos por cada herramienta. Esto implica que, sí que se puedan identificar falsos positivos, es decir, que se den situaciones en las que se identifica un defecto, pero en realidad no supone un problema realmente significativo en el contexto del sistema

¿Ayudan las métricas a localizar defectos de código?

Si, las métricas son una herramienta útil para localizar posibles defectos de código, ya que identifican zonas problemáticas como clases muy grandes, métodos complejos o alto acoplamiento, Sin embargo, las métricas por ellas solas no son lo suficientemente para evaluar el contexto ni el diseño. Para ello, se debe complementar con la inspección manual y las métricas a la vez.

¿Todos los defectos de código pueden ser localizados con métricas de código? Indica algún ejemplo de los obtenidos después de realizar la práctica.

No, no todos los defectos pueden detectarse mediante métricas. En nuestra práctica, se ha dado el caso en el que el defecto de complejidad innecesaria (Speculative Generality), ha requerido un análisis manual. No ha sido posible realizar el análisis de esta medida a través de herramientas como PMD o InCode.

Respecto a la herramienta InCode ¿qué fortalezas y debilidades idénticas en su funcionalidad relaciona con la detección de defectos de código?

Fortalezas:

- Permite identificar los defectos de diseño complejos como Data Class, Data Clumps y Feature Envy

- Proporciona información detallada sobre el origen del defecto y su impacto

- Facilita la navegación entre clases y métodos relacionados

Debilidades:

- No detecta todos los tipos de defectos

- Puede generar falsos positivos en algún caso

- Cuesta interpretar correctamente los resultados

Respecto a la herramienta PMD ¿qué fortalezas y debilidades idénticas en su funcionalidad relaciona con la detección de defectos de código?

Fortalezas:

- Detecta muchos problemas sintácticos y de buenas prácticas como Magic Number (uso de literales) y analiza todas las reglas.

- Es fácil de integrar en el entorno de desarrollo (Eclipse)

- Permite analizar grandes cantidades de código

Debilidades:

- Puede generar muchos avisos poco relevantes si no se filtra adecuadamente

- No tiene en cuenta el contexto del código.