Sabía desde hace tiempo que eclipse tiene diversas opciones de "refactoring", opciones que nos permiten modificar fácilmente el código para hacelo más legible, diseño más claro, etc.
La primera opción tonta es la de renombrar o mover una clase entera de sitio. Sobre la clase le damos al botón derecho del ratón para sacar el menú, "refactor" y "move" o "rename". La ventaja de hacerlo así es que eclipse nos revisa el resto de las clases del proyecto y nos cambia automáticamente los import y el nombre de la clase donde aparezca.
Otra que uso mucho es la de extraer un método. Seleccionas varias líneas de código, botón derecho del ratón, "refactor" y "extract method". Si se puede hacer fácilmente, eclipse nos crea el método y nos cambia el código para que haga una llamda a ese método. Si el asunto no es trivial, tenemos que ayudarle un poco.
Otras muy útiles también es el de "convert local variable to attribute" o "extract constant". En el primero selecionando una variable y en el segundo un valor fijo (numérico o cadena de texto), eclipse nos crea un nuevo atributo o constante en la clase y reemplaza todas las apariciones en el código de esa clase.
Otro muy maravilloso es el cambiar la "signatura" de un método. Seleccionamos el nombre del método, botón derecho, "refactor", "change signature" y podemos ponerle o quitarle parámetros. Eclipse revisa todo el código para arreglar las llamadas. Este es muy útil cuando vemos un método que ha dejado de usar uno de los parámetros que en principio se le pasaban. Lo podemos hacer desaparecer de un plumazo.
Y otro que he descubierto hace poco. Podemos mover un método de una clase a otra clase. Para que eclipse sepa hacerlo, la clase destino debe ser atributo de la clase origen, de forma que pueda reemplazar las llamadas a ese método por una llamada al método del atributo. Me explico, si la clase A tiene el metodo() y en algún sitio lo llama, debemos hacer una clase B que sea atributo de A. Al mover el método de A a B, eclipse nos cambiará las llamadas de metodo() por b.metodo().
Estas son las que recuerdo así por encima y que suelo usar. Es posible que me haya equivocado en los nombres de los menús (los puñeteros están en inglés), pero de todas formas es algo que merece la pena conocer, investigar y sacarle provecho. Puede ahorrar mucho trabajo y ayudarnos a dejar el código más limpio.