Refactorización/Introducir variable explicativa

De Wikilibros, la colección de libros de texto de contenido libre.
Ir a la navegación Ir a la búsqueda

Introducir Explicando Variable[editar]

Explicacion[editar]

Estamos frente a una expresión complicada. La mejor manera es poner el resultado de la expresión (o de las distintas partes de ésta) en una variable temporal con un nombre que explique su propósito. Debemos de tener en cuenta que para hacer este método de refactorización es por medio de variables, ya que algunos individuos tienden a confundirse con una constante.

- Aunque es mejor, generalmente, no usar variables temporales, en el caso de expresiones complejas pueden simplificar el código - Por ejemplo, con varias sentencias condicionales, o en un algoritmo largo - En principio sería mejor tratar de aplicar extraer método - Pero hay veces, cuando el método tiene muchas variables locales, en que se pueden aplicar este método. Ejemplo

Ejemplo[editar]

Antes[editar]

codigo sin refactoring

Este codigo en el condicional if esta muy condensado o saturado de informacion para el lector del codigo, la cual no seria optimo desde un punto de vista estetico del programa; en este ejemplo la solucion seria reducir al maximo la condicion , y que mejor manera de utilizar la tecnica introduce explaining variable




Nuevo codigo[editar]

aplicacion de refactoring

Entonces finalmente llegaríamos a reemplazar la(s) variable(s) y nos quedaría el código mucho más claro de entender,claro esta, que la decicion del lugar de la variable esta a la disposición del desarrollador es decir,si seria la variable de tipo interno,local o general, siempre y cuando teniendo en cuenta en ser mas optimo; porque ese es el objetivo de refactoring.




Aportes[editar]

Además de tener expresiones largas y complicadas tambien podemos asignarle a una variable un parámetro o algo menos usado por su concepción y definición una variable.


http://martinfowler.com/books/refactoring.html=Referencias=
http://c2.com/cgi/wiki?HowToRefactor=Referencias=
http://codecourse.sourceforge.net/materials/Refactoring-Presentation-from-                  JavaOne.pdf=Referencias=
http://www.oocities.org/espanol/profeprog/POOApunte-Refactoring.pdf=Referencias=