viernes, noviembre 10, 2006

Algunas herramientas para comenzar un proyecto

Bien, quiero dar una lista de herramientas que me han sido de utilidad para iniciar proyectos y mantenerlos. Por supuesto que siempre depende de los gustos y comodidad de cada profesional. Y además es recomendable, que no sigamos el listado como una receta de cocina ni como una obligación, mucho menos seguirlo como una lista exhaustiva.

CVS / Subversion: Son muy parecidos y cumplen con el mismo objetivo. Su concepto es tan simple que hace dudar acerca de su funcionalidad final. Esto pensaba yo hasta que comencé a utilizarlo. Ya sea en un pequeño proyecto de un sólo programador, o en un entorno de múltiples desarrolladores trabajando en el mismo proyecto, una herramienta que nos permita "versionar" nuestro código, es algo impagable. Generalmente CVS es una herramienta de consola (un poco complicado de configurar al principio), por eso les recomiendo una versión para Windows (CVSNT). Personalmente los he probado a los dos y me quedo con Subversion (aunque la página muestra un warning para Windows, nunca me dio ningún problema). Por supuesto, además del servidor de versiones, necesitaremos algún plugin para poder acceder, como eclipse es mi IDE favorito hasta el momento, les recomiendo el plugin Subclipse.

Log4J / Jakarta Commons Logging: Los System.out.println("..."); son útiles pero únicamente en el instante. Necesitamos algo un poco más poderoso para poder monitorear (=instrumentar) nuestra aplicación, especialmente cuando ya está en producción. Popularizada por la mayoría de las librerías y herramientas open-source, Log4J se ha convertido en una de las mejores herramientas para hacerlo, aún más utilizada que las librerías del propio JDK. Inclusive, ha trascendido los límites de Java y existen versiones para PHP, .NET, C, etc.

Control de Normas: alguna herramienta que pueda analizar nuestro código según estándares y que además pueda sugerirnos mejoras, es bastante útil para no cometer demasiados errores que perjudiquen la performance de nuestra aplicación (ver el último post).

XDoclet: definido como "attribute oriented programming", nos permite incorporar dentro de nuestro código, metadatos (dentro de líneas de comentario), con la finalidad de que, utilizando Ant, podamos generar nuevos artefactos. Yo lo he utilizado para generar los archivos de configuración de Hibernate, y funciona bastante bien. Aquí pueden ver la página principal.

Apache JMeter: esta herramienta nos permite realizar pruebas funcionales y mediciones de performance. Pueden ver su página haciendo click aquí.

Herramienta de modelado y documentación: básicamente, alguna herramienta que nos permita modelar en UML. Hay muchas alternativas, yo he probado el clásico de clásicos Rational y varios con versiones comunitarias. De estos últimos me ha gustado mucho el VisualParadigm y debo decir que el Poseidón me ha hecho perder varias semanas de trabajo (no sé como estará en la última versión).

No considero cada una de estas herramientas imprescindibles, pero debo decir que nuestro objetivo debe ser el de "optimizar el tiempo". Por ejemplo, si consideran que son más rápidos en escribir el xml de hibernate antes de aprender XDoclet, escriban xml. Pero analicen un poco antes de comenzar el proyecto, ¿cómo puedo optimizar el tiempo de desarrollo?, ¿existirá alguna herramienta que lo haga por mí?, etc..

Saludos PF

1 Comments:

At 1:32 p. m., Anonymous Pablo said...

Para las pruebas de carga y de rendimiento de tus aplicaciones un software con una interfaz gráfica amigable y eficaz es agileload.

 

Publicar un comentario

<< Home