Skip to content

Conversation

@nicguecrz-glitch
Copy link

Hola,

He analizado este repositorio como parte de una asignación universitaria de Diseño de Software y he identificado oportunidades para mejorar la mantenibilidad y legibilidad del código en la clase UI.java.

Problemas Identificados (Code Smells):

  1. God Class (Clase Dios): La clase UI manejaba componentes de la interfaz gráfica (Swing) y operaciones de archivos (I/O) simultáneamente, violando el Principio de Responsabilidad Única.
  2. Long Method (Método Largo): El método actionPerformed era demasiado complejo, extenso y contenía lógica anidada difícil de seguir.
  3. Nombres de Variables Ambiguos: Uso de variables poco descriptivas como int n para los resultados de los cuadros de diálogo.

Refactorizaciones Aplicadas:

  • Extract Class (Extraer Clase): Se creó una nueva clase FileManager.java para manejar todas las operaciones de lectura y escritura de archivos, cumpliendo con el principio SRP.
  • Extract Method (Extraer Método): Se refactorizó actionPerformed delegando la lógica en métodos privados específicos como performNewFileAction(), openFile() y saveFile().
  • Rename Variable (Renombrar Variable): Se renombró n a userSelection para mayor claridad semántica.

Espero que estos cambios sean de utilidad para el proyecto.
Saludos cordiales.

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

Successfully merging this pull request may close these issues.

1 participant