jueves, mayo 05, 2005

Herramienta para detectar cambios en una API

Un problema que suele presentarse cuando se trabaja con librerías de terceros son los cambios que se pueden realizar entre una versión y otra, muchas veces sucede que no hay buen manejo de estos cambios y la documentación es prácticamente nula.
Un podría seguir utilizando la versión actual pero la gran mayoría de las veces uno se ve forzado a hacer estos cambios porque la nueva versión contiene importantes mejoras con respecto a las anteriores o arreglan bugs.
Las soluciones que se pueden llegar a plantear es reemplazar la API correr un test de regresión y verificar que todo siga funcionando como se esperaba, o en el caso lamentable de no tener forma de testear la aplicación cambiar la API y cruzar los dedos!!
Para cualquiera de los casos anteriores primero debemos reemplazar la API, lo ideal seria poder tener un filtro previo como para poder lograr mayor visibilidad del cambio que se esta por realizar, una forma de poder lograr esto seria comparando las versiones de la API, la que esta en uso y la que se quiere usar para reemplazar y verificar los cambios que hay entre una y otra, esta es una tarea que puede llegar a ser demasiado costosa en tiempo, pero afortunadamente hay una herramienta que nos puede dar una buena mano para realizar esta tarea JDiff lo que hace Jdiff es generar un reporte en HTML con el formato de un JavaDoc con las diferencias que contiene una API con respecto a la otra, muestra los métodos que se agregaron, los que se eliminaron, etc... en la pagina hay varios ejemplos de comparaciones de API.