Se refiere a cualquier cambio en el código del software para aumentar la legibilidad o simplificar la estructura sin afectar los resultados de salida.
La refactorización del software debe completarse con la ayuda de herramientas. Las herramientas de refactorización pueden modificar el código y modificar todos los lugares que hacen referencia al código. En la metodología de Programación Extrema, la refactorización requiere pruebas unitarias para respaldarla.
En ingeniería de software, el término refactorización generalmente se refiere a modificar el código fuente sin cambiar el comportamiento externo del código, a veces denominado informalmente "limpieza".
En Extreme Programming u otras metodologías ágiles, la refactorización suele ser parte de un ciclo de desarrollo de software: los desarrolladores se turnan para agregar nuevas pruebas y funciones, y refactorizar el código para mejorar la claridad y coherencia internas. Las pruebas unitarias automatizadas garantizan que la refactorización no detenga el funcionamiento del código.
Información ampliada:
La refactorización se enfrenta al reto de la adaptación y aceptación de la industria. Primero, el impacto a largo plazo de la refactorización necesita una investigación y un seguimiento más profundos. Además, es casi imposible o muy difícil reconstruir la capa de lógica empresarial almacenada en el esquema de la base de datos. Finalmente, la refactorización que afecta las interfaces puede causar dificultades en el desarrollo del programa a menos que el programador tenga acceso a todas las interfaces de usuario.
Por ejemplo, si un programador cambia el nombre de un método en una entidad, debe editar todas las referencias en todo el proyecto que enlazan con el nombre anterior, o sucumbir a seguir manteniendo una interfaz que se desmorona usando el antiguo nombre. La interfaz con el nombre anterior llama internamente al método con el nuevo nombre.
Enciclopedia Baidu-Reconstrucción