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

Código Duplicado y Gestión Ineficiente de Recursos en los Métodos "recorrerCarpetas" y "removerClave" #1

Open
francoleon08 opened this issue Aug 15, 2024 · 0 comments

Comments

@francoleon08
Copy link

La implementación actual de los métodos recorrerCarpetas y removerClave contiene código duplicado, una gestión ineficiente de los recursos y prácticas que pueden ser propensas a errores, lo que puede llevar a fugas de memoria e inconsistencias en el comportamiento del programa.

  1. Código Duplicado:

    • Las operaciones PDDocument.load y pdf.close() se realizan en varios lugares en los métodos recorrerCarpetas y removerClave, lo que lleva a duplicación de código. Esto podría refactorizarse en un método separado para mejorar la legibilidad y mantenibilidad del código.
  2. Gestión Ineficiente de Recursos:

    • El objeto PDDocument se carga y se cierra en diferentes lugares, lo que aumenta el riesgo de fugas de memoria si ocurre una excepción entre la carga y el cierre.
    • El pdf.close() no siempre se llama, especialmente en la sección de manejo de errores donde se capturan excepciones, lo que podría dejar los descriptores de archivos abiertos en el sistema.
  3. Errores Potenciales en el Manejo de Excepciones:

    • El bloque try-catch en recorrerCarpetas captura múltiples excepciones y luego continúa con el bucle. Sin embargo, si pdf.close() falla o no se llama, puede dejar el PDDocument abierto, lo que provoca fugas de recursos.

Solución Propuesta:

  1. Refactorizar el Código para Eliminar la Duplicación:

    • Crear un método auxiliar que maneje la carga, procesamiento y cierre de objetos PDDocument. Esto reduciría la duplicación de código y haría que el código sea más mantenible.
  2. Mejorar la Gestión de Recursos:

    • Utilizar una declaración try-with-resources al trabajar con PDDocument para asegurar que el documento se cierre automáticamente, incluso si ocurre una excepción.
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

1 participant