En la clase nueva que hemos implementado ‘DecodificadorCadena’, se puede observar sus dos métodos (‘recepcioncadenaCodificadaCompraDesdeElBroker’ y ‘recepcioncadenaCodificadaVentaDesdeElBroker’) tienen una gran cantidad de líneas de código (162 y 176 líneas respectivamente), por lo que dichos métodos se los considera excesivamente largos; esto da origen al code smell ‘Large method’.
Estos métodos excesivamente largos, pueden generar confusión y algunos problemas más adelante. Un futuro problema sería cuando nuestro programa tiene un error semántico (Es cuando la sintaxis del código es correcta, pero la semántica o el significado no es el que se pretendía), el cual, a diferencia de un error de sintaxis, es indetectable para nuestro compilador. Por este motivo, nosotros tendríamos que analizar cada línea para encontrar la falla, lo cual provoca un trabajo arduo y molestoso.
Métodos largos:
……..
……..
……..
……..
……..
……..
……..
……..
Técnica de refactorización: Extract method:
La técnica que se usara consiste en mover ciertas líneas de nuestro método largo a un o unos nuevos métodos, los cuales nos ayudaran a reducir la cantidad de operaciones que debía realizar el método originalmente. En este caso los nuevos métodos que se implementaron fueron: ‘decodificarVariables’, ‘recorrerEmpresas’, ‘comprobarEmpresa’ y ‘mostrarDatosGenerales’.
Los beneficios de esta técnica de refactorización es que los métodos ‘recepcioncadenaCodificadaCompraDesdeElBroker’ y ‘recepcioncadenaCodificadaVentaDesdeElBroker’ tendrán una cantidad reducida de código, lo cual permitirá un mejor manejo del mismo; y de esta manera será más sencillo modificar alguno de los métodos, o encontrar errores semánticos.
...
...
Originalmente los métodos ‘recepcioncadenaCodificadaCompraDesdeElBroker’ y ‘recepcioncadenaCodificadaVentaDesdeElBroker’
tenían 162 y 176 líneas de código respectivamente, y ahora con la técnica de refactorización se pudo minimizar a 105 y 123 líneas; es decir, una reducción de casi el 30% de la cantidad de líneas originales de ambos métodos.
En la clase nueva que hemos implementado ‘DecodificadorCadena’, se puede observar sus dos métodos (‘recepcioncadenaCodificadaCompraDesdeElBroker’ y ‘recepcioncadenaCodificadaVentaDesdeElBroker’) tienen una gran cantidad de líneas de código (162 y 176 líneas respectivamente), por lo que dichos métodos se los considera excesivamente largos; esto da origen al code smell ‘Large method’. Estos métodos excesivamente largos, pueden generar confusión y algunos problemas más adelante. Un futuro problema sería cuando nuestro programa tiene un error semántico (Es cuando la sintaxis del código es correcta, pero la semántica o el significado no es el que se pretendía), el cual, a diferencia de un error de sintaxis, es indetectable para nuestro compilador. Por este motivo, nosotros tendríamos que analizar cada línea para encontrar la falla, lo cual provoca un trabajo arduo y molestoso. Métodos largos: …….. …….. …….. ……..
…….. …….. …….. ……..
Técnica de refactorización: Extract method: La técnica que se usara consiste en mover ciertas líneas de nuestro método largo a un o unos nuevos métodos, los cuales nos ayudaran a reducir la cantidad de operaciones que debía realizar el método originalmente. En este caso los nuevos métodos que se implementaron fueron: ‘decodificarVariables’, ‘recorrerEmpresas’, ‘comprobarEmpresa’ y ‘mostrarDatosGenerales’.
Los beneficios de esta técnica de refactorización es que los métodos ‘recepcioncadenaCodificadaCompraDesdeElBroker’ y ‘recepcioncadenaCodificadaVentaDesdeElBroker’ tendrán una cantidad reducida de código, lo cual permitirá un mejor manejo del mismo; y de esta manera será más sencillo modificar alguno de los métodos, o encontrar errores semánticos. ...
...
Originalmente los métodos ‘recepcioncadenaCodificadaCompraDesdeElBroker’ y ‘recepcioncadenaCodificadaVentaDesdeElBroker’ tenían 162 y 176 líneas de código respectivamente, y ahora con la técnica de refactorización se pudo minimizar a 105 y 123 líneas; es decir, una reducción de casi el 30% de la cantidad de líneas originales de ambos métodos.