Martin Fowler es autor de Refactoring y de UML Distilled (el primer libro sobre UML que conseguí entender). Aquí (hay que bajar un poco para dar con ella) se puede encontrar una entrevista con él (en seis partes, por lo que supongo que podría considerarse una única entrevista). En la primera pregunta ya resume qué es refactoring:
Refactoring is making changes to a body of code in order to improve its internal structure, without changing its external behavior.
(vía Tesugen.com)
Lo poco -aún- que he leido de Fowler es genial, a ver si me engancho al 'Refactoring'.
Descubrí hace poco las entrevistas de Artima.com y son geniales (no perderse las de los Pragmatic Programmers que están publicando ahora).
El único problema de leer sobre programación es que uno no sabe si debería contarlo como parte de la jornada de trabajo o como parte del tiempo libre 😉