Ouracademy

Que no es refactorizar

Basado en Refactoring Malapropism

"Refactoring" (o refactorización) ahora se utiliza comúnmente en la industria informática, aunque hace algún tiempo era tan solo un término conocido por poca gente.

Sin embargo, al igual que con muchas otras palabras [1], el término "refactoring" es a menudo usado cuando no es apropiado:

Usar el término refactorizacion:

  • cuando se reestructura muchas cosas a la vez para que el código quede limpio (clean code).
  • cuando luego de una supuesta "refactorización" se tiene que corregir los errores los errores que introdujo la "refactorización".
  • cuando se habla de refactorizar la documentación...

Ninguna es refactorizar, todas son reestructurar.

Refactorizar es una técnica especifica para reestructurar, la cual es una actividad más general. Reestructurar es reordenar partes, partes de un todo, pero puede ser hecho de distintas maneras. Es un término muy general que no implica una forma particular de reestructurar, mientras que refactoring si.

Refactoring es una técnica muy especifica, fundada en usar transformaciones pequeñas que preservan el comportamiento (tambien llamados refactorings), y sino mira la definición exacta de refactoring [5]. Si refactorizas tu sistema no deberías generar errores al sistema, claro deberías tener errores mientras refactorizas por unos minutos, pero cuando acabas de refactorizar no deberías tener errores [...]. Mientras que clean code simplemente es el resultado de refactorizar, al igual que usar patrones de diseño es muchas veces la salida de aplicar una serie de refactorizaciones [2,3].

Existen otras técnicas de reestructurar, pero son diferentes.

Ver tambien

Referencias

  1. Fowler, M. (2006) Perdida del concepto original por mala difusión
  2. Martin, R. C. (2009). Clean code: a handbook of agile software craftsmanship.
  3. Kerievsky, J. (2005). Refactoring to patterns. Pearson Deutschland GmbH.
  4. Fowler, M. Refactoring Malapropism
  5. Fowler, M. Definición de refactorizar
Si te fue útil este artículo, por favor compártelo. Apreciamos los comentarios y el aliento.
Compartelo por:

Quiza te pueda interesar...

CoreNLP: Un tutorial

Extrayendo entidades y relaciones de ciertas paginas web

Las cosas pequeñas importan

Uno de los principios fundamentales en el desarrollo de software que aparecen incluso en la vida misma

Bolsa de 5 libras

o los problemas de tener un plan fijo y como lidiar con ello traducido de Martin Fowler