You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Justificación: La clase Jugador contiene múltiples atributos y métodos, y su funcionalidad podría dividirse en clases más pequeñas y especializadas. Esto viola el principio de responsabilidad única y podría hacer que la clase sea difícil de entender y mantener.
Beneficios de Refactorizar: Dividir la funcionalidad de la clase Jugador en clases más pequeñas y centradas en tareas específicas haría que el código sea más modular y fácil de entender. Cada clase tendría una responsabilidad clara y sería más fácil de mantener y extender.
Código Refactorizado:
Primitive Obsession: Clase Partido
Justificación: Algunos atributos, como year, dateTime, halfTimeHomeGoals y halfTimeAwayGoals en la clase Partido, podrían beneficiarse de una representación más semántica mediante la creación de nuevas clases específicas.
Beneficios de Refactorizar: Crear clases dedicadas para representar conceptos como fechas y horas haría que el código sea más expresivo y menos propenso a errores. La encapsulación de la lógica relacionada en clases separadas facilitaría la extensión y el mantenimiento del código.
Código Refactorizado:
Simplifying Method Calls: Remove Parameter
Problema: En el método Jugador constructor, se utiliza un número significativo de parámetros. Esto puede llevar a una interfaz poco amigable y a posibles errores si no se manejan correctamente.
Beneficios de Refactorizar: Al aplicar la técnica "Remove Parameter", podríamos reducir la complejidad del constructor eliminando algunos parámetros y, si es posible, moviéndolos a un método separado. Esto hará que el constructor sea más limpio y fácil de entender, mejorando la legibilidad del código. Además, reduce la posibilidad de errores al simplificar la interfaz del constructor.
Organizing Data: Self Encapsulate Field
Problema: En la clase Jugador, los atributos son accesibles directamente, lo que puede provocar un acoplamiento innecesario y dificultar el control sobre los valores de los atributos.
Beneficios de Refactorizar: Al aplicar la técnica "Self Encapsulate Field", encapsulamos los atributos, proporcionando métodos de acceso en lugar de acceder directamente a ellos. Esto mejora la encapsulación, permitiendo un mejor control sobre cómo se accede y modifica la información en la clase. Además, facilita futuras actualizaciones y cambios en la implementación de la clase sin afectar directamente a su interfaz pública.
Pruebas Unitarias:
Clase Jugador
Clase Partidos
Clase CopaMundial
The text was updated successfully, but these errors were encountered:
Code Smells:
Large Class: Clase Partido
Justificación: La clase Jugador contiene múltiples atributos y métodos, y su funcionalidad podría dividirse en clases más pequeñas y especializadas. Esto viola el principio de responsabilidad única y podría hacer que la clase sea difícil de entender y mantener.
Beneficios de Refactorizar: Dividir la funcionalidad de la clase Jugador en clases más pequeñas y centradas en tareas específicas haría que el código sea más modular y fácil de entender. Cada clase tendría una responsabilidad clara y sería más fácil de mantener y extender.
Código Refactorizado:
Primitive Obsession: Clase Partido
Justificación: Algunos atributos, como year, dateTime, halfTimeHomeGoals y halfTimeAwayGoals en la clase Partido, podrían beneficiarse de una representación más semántica mediante la creación de nuevas clases específicas.
Beneficios de Refactorizar: Crear clases dedicadas para representar conceptos como fechas y horas haría que el código sea más expresivo y menos propenso a errores. La encapsulación de la lógica relacionada en clases separadas facilitaría la extensión y el mantenimiento del código.
Código Refactorizado:
Problema: En el método Jugador constructor, se utiliza un número significativo de parámetros. Esto puede llevar a una interfaz poco amigable y a posibles errores si no se manejan correctamente.
Beneficios de Refactorizar: Al aplicar la técnica "Remove Parameter", podríamos reducir la complejidad del constructor eliminando algunos parámetros y, si es posible, moviéndolos a un método separado. Esto hará que el constructor sea más limpio y fácil de entender, mejorando la legibilidad del código. Además, reduce la posibilidad de errores al simplificar la interfaz del constructor.
Problema: En la clase Jugador, los atributos son accesibles directamente, lo que puede provocar un acoplamiento innecesario y dificultar el control sobre los valores de los atributos.
Beneficios de Refactorizar: Al aplicar la técnica "Self Encapsulate Field", encapsulamos los atributos, proporcionando métodos de acceso en lugar de acceder directamente a ellos. Esto mejora la encapsulación, permitiendo un mejor control sobre cómo se accede y modifica la información en la clase. Además, facilita futuras actualizaciones y cambios en la implementación de la clase sin afectar directamente a su interfaz pública.
Pruebas Unitarias:
Clase Jugador
Clase Partidos
Clase CopaMundial
The text was updated successfully, but these errors were encountered: