jueves, septiembre 30, 2010

Programación Ágil con Eclipse

Muchas veces hacemos uso de un IDE tan poderoso como eclipse y no aprovechamos todas sus ventajas porque quizás no sabíamos que este las tenía. Desde la versión Galileo y ahora con la nueva versión Helios, el entorno de desarrollo Eclipse ha agregado muchas mejoras a su IDE para hacernos la vida más fácil a la hora de programar en Java, especialmente cuando tienes que realizar grandes y repetitivas porciones de código. A continuación describimos algunas de ellas:

Source > Generate Getters and Setters: Es una opción que se encuentra desde versiones anteriores de eclipse, quizá desde la versión Europa pero muchos quizá aun no la conocían. Al momento de elaborar sus clases java pueden escribir únicamente sus miembros privados y desde esta opción pueden generar automáticamente los getters y setters para estos miembros.

"Opción Generate getters y setters en Eclipse"

Source > Generate Constructor Using Fields: Similar a la opción anterior. Una vez tengan todos sus miembros privados de la clase y desean crear un constructor que reciba parámetros para inicializarlos, basta con acceder a esta opción del menú y este se crea automáticamente.

Source > Generate toString: Esta opción es nueva para mi y está disponible desde la versión Galileo de Eclipse. Muchas veces para efectos de logging queremos imprimir en pantalla todos los valores que poseen los miembros de una clase pero si esta clase tiene demasiados miembros es muy difícil escribir un método toString() para mostrarlos todos. Este método nos automatiza esta tarea.

"Source > Generate toString() genera un método toString() mostrando los valores de los campos de la clase"


Autocompletado: Siglas en lugar de nombres de clases: Muchas veces tenemos que escribir nombres de clases realmente largos y al escribir las primeras tres letras el autocompletado (Ctrl + espacio) nos da demasiadas opciones como para encontrar la que buscamos. Recientemente me enteré que puedo digitar las siglas de una clase Java y Eclipse te muestra las clases cuyas letras formen esas siglas. Por ejemplo, en lugar de digitar EntityManagerFactory, puedes escribir nada más EMF:

"Autocompletando el nombre de la clase EntityManagerFactory con sus siglas EMF"

Si tu autocompletado es demasiado lento y tienes muchas clases cargadas en tu classpath que nunca utilizarás, puedes filtrarlas para que tu autocompletado cargue más rápido. En las preferencias (Window > Preferences) selecciona Java > Appearance > Type filters y filtra los paquetes de clases que no deseas que te aparezcan en el autocompletado.

Export > Runnable Jar File: Ahora Eclipse nos permite exportar nuestros archivos Jar empaquetados (o enlazados, según configuración) con todas las dependencias necesarias disponibles para la ejecución del Jar a generar.

"Opciones para exportar el Runnable Jar"

Source > Surround With: Otra tarea mecánica es quizá agregar for, while, if o try/catch. Eclipse puede ayudarnos a encerrar sentencias de código en cláusulas for, while, if o try/catch mediante la opción Source > Surround With. Si se trata de un try/catch, el IDE generalmente nos remarca las líneas de código que puedan disparar una excepción y en un tooltip nos mostrará un vínculo directo a la opción Surround With Try/catch.

"Cuando una sentencia puede disparar una excepción, el IDE nos puede encerrar automáticamente esta sentencia en un bloque try/catch"

Atajos de Teclado: Eclipse es aun mas fácil de usar si te memorizas sus atajos de teclado. En este vínculo puedes descargar un PDF con los shortcuts más comunes para Eclipse desde la versión 3.0 en adelante. Algunos comunes son como por ejemplo:

  • Ctrl + T para búsqueda de una clase Java dentro de tu proyecto y buildpath
  • Ctrl + O para buscar un miembro dentro de una clase
  • Alt + Shift + X para ejecutar tu proyecto (con las variaciones J para proyecto java, T para unit test, R para ejecutar en servidor de aplicaciones, etc)
  • Alt + Shift + Z (teniendo seleccionadas las líneas a encerrar) para mostrar las opciones de Surround With
  • Ctrl + Shift + C para comentar una o varias líneas
  • F3 para ir a la declaración de una clase o un miembro de una clase

Además de las características propias del IDE, Eclipse tiene la ventaja de poseer una variedad de plugins para extender su funcionamiento. Un ejemplo de ello es el plugin para Grepcode, un buscador online para examinar código fuente de clases Java.

"Grepcode mostrando el código fuente de la clase EntityManager"

Sunsetting Sr. Byte.

El Sr. Byte ha estado más de 5 años inactivo. Digamos que estaba en " code freeze ". Pero ahora es el último release. Quizas no...