11.2 Refactorizar para mejorar la comprensión

Al examinar el código, observo un método denominado #left, que parece ser una abreviatura. Puedo solicitar a los emisores que me muestren cómo se utiliza #left en otras partes del código.

ch11-01-SendersOfLeft

Figura 11.1: Emisores de left

He observado que la mayoría de los usos de #left son para indicar una posición, no para realizar una acción. ¿Cómo puedo solucionarlo?

Dado que las personas suelen querer cambiar las cosas para mejor, existen varias herramientas útiles que ayudan a hacerlo.

Ahora podría ver nuestros usos de #left en Spacewars!, pero el IDE de Cuis ya sabe cómo hacerlo.

Si hago clic con el botón derecho del ratón en el panel de métodos del Browser, aparece un menú contextual con opciones que me ayudan. Aquí elijo Rename.

ch11-02-RenameLeft

Figura 11.2: Renombrar left

Ahora bien, las herramientas que nos ayudan a refactorizar el código son bastante potentes, por lo que hay que actuar con moderación. No quiero cambiar todos los usos de #left en el sistema Cuis-Smalltalk, solo en la categoría Spacewar!.

ch11-03-RenameInCategory

Figura 11.3: Renombrar en una categoría

Por supuesto, cuando se realizan cambios, uno quiere ver que el resultado es el esperado.

ch11-04-turnLeft

Figura 11.4: Resultados de renombrar

Como no soy perfecto, suelo guardar la imagen de Cuis-Smalltalk antes de realizar cambios importantes con herramientas potentes. Si ocurre algo que no deseaba, puedo salir de la imagen sin guardar y reiniciar la imagen guardada, que recuerda el estado anterior al cambio.

 CuisLogo Renombrar #right a #turnRight.

Ejercicio 11.1: Renombrar un método

Al seguir explorando en el Browser, me fijo en el método SpaceShip>>nose.

¿Dónde lo utilicé? Ah, emisores...

ch11-05-noseSenders

Figura 11.5: Emisores de nose

Mmmm, quizá algo más específico. ¿Qué tal #noseDirection? ¿Qué te parece?

ch11-06-noseDirection

Figura 11.6: Renombrar nose a noseDirection

 note Menú World → Help es tu aliado. La Terse Guide to Cuis (La Guía Concisa de Cuis) te da acceso a una gran variedad de ejemplos de uso del código. El Class Comment Browser (El Navegador de Comentarios de Clase) es otra forma de encontrar información interesante sobre las clases. También hay más notas sobre la gestión del código y cómo usamos GitHub.

 note ¡Queremos compartirlo con vosotros! Visitad los paquetes en el repositorio principal de Cuis-Smalltalk en https://github.com/Cuis-Smalltalk, buscad en GitHub los repositorios cuyos nombres empiecen por Cuis-Smalltalk- y echad un vistazo a los tutoriales y la información disponibles en https://github.com/Cuis-Smalltalk/Learning-Cuis.

Hay mucho más por explorar, pero este libro es una introducción y tenemos que dejar de escribir en algún momento. Este es un buen momento. ¡Queremos volver a escribir código! ¡Y estamos deseando ver tus proyectos!

¡Bienvenido a Cuis-Smalltalk!