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
Existe una clase Artefacto con un atributo llamado categoría, en la captura de pantalla que corresponde a la clase GUI se puede observar las validaciones que se realizan para según eso determinar el texto que debe ser configurado en un determinado label. Es decir, si implementamos una nueva categoría deberíamos modificar este y muchos métodos más, en esta y otras clases. Lo anterior corresponde a Divergent Change code smell.
Extract Subclass
Para solucionar el code smell mencionado aplicaremos la técnica de refactorización Extract Subclass, de manera que Artefacto tendrá tantas clases hijas como categorías, y cualquier cambio deberá realizarse solo en esa clase. Además esto ayuda a reducir el tamaño del método mostrado ya que en lugar de las validaciones se llamaría a la función correspondiente para el objeto que hereda de Artefacto.
The text was updated successfully, but these errors were encountered:
Divergent Change
Existe una clase Artefacto con un atributo llamado categoría, en la captura de pantalla que corresponde a la clase GUI se puede observar las validaciones que se realizan para según eso determinar el texto que debe ser configurado en un determinado label. Es decir, si implementamos una nueva categoría deberíamos modificar este y muchos métodos más, en esta y otras clases. Lo anterior corresponde a Divergent Change code smell.
Extract Subclass
Para solucionar el code smell mencionado aplicaremos la técnica de refactorización Extract Subclass, de manera que Artefacto tendrá tantas clases hijas como categorías, y cualquier cambio deberá realizarse solo en esa clase. Además esto ayuda a reducir el tamaño del método mostrado ya que en lugar de las validaciones se llamaría a la función correspondiente para el objeto que hereda de Artefacto.
The text was updated successfully, but these errors were encountered: