EsElCambioDeInterfazRefactorizar
Escrito por Martin Fowler
Traducido por Carmen Vidal ( Paradigma Tecnológico)
¿Es el cambio de interfaz de parte del código una refactorización?
La respuesta a esta pregunta es bastante simple - el cambio de un interfaz es una refactorización que genera un cambio en todas las llamadas. Un gran ejemplo de esto es RenombradoDeMétodo, que es una refactorización de cambio de interfaz presente en la mayoría de herramientas de refactorización.
El cambio de todas las llamadas es una parte esencial de esta refactorización. Solamente el cambio de una declaración de interfaz romperá el sistema - y consecuentemente no es un comportamiento que conserve el cambio.
Las refactorización de cambio de interfaz asumen que se puede conseguir el mantenimiento de todas las llamadas, y esto es porque se tiene que ser mucho más cuidadoso con los InterfacesPublicados. Con un interfaz publicado, el interfaz sí mismo es la parte del comportamiento observable del sistema.
Los lenguajes dinámicos pueden hacer estos cambios mucho más difíciles. La mecanografía estática realmente ayuda aquí a controlar exactamente qué interfaz es llamado en varios puntos. Las llamadas reflexivas también pueden ser más difíciles de encontrar, bien integrando nombres de método en cadenas o componiéndolas en tiempos de ejecución. Esto es otra área donde las pruebas son esenciales incluso en los entornos que tienen instrumentos de refactorización.

