Libros: Pragmatic Version Control Using Subversion
Una de las últimas lecturas más influyentes en mi desempeño profesional de los últimos tiempos fué sin duda Pragmatic Version Control Using Subversion (primera edición) por Mike Mason y parte del más que recomendable Pragmatic Bookshelf.
Quienes desempeñamos nuestro trabajo diario como desarrolladores independientes tenemos pocas chances de reconocer a simple vista las ventajas de un sistema de control de versiones para el código que producimos, a menudo abstraídos en la incredulidad desde la soledad de nuestras jornadas unipersonales, o por lo menos, ese fué mi caso por largo tiempo. Para todos los que se sientan identificados con esas palabras, éste libro los convertirá en creyentes.
SVN no es CVS
Primero, y para que estemos advertidos de antemano, éste libro tiene en realidad 2 versiones: una dedicada a CVS y ésta dedicada al más reciente Subversion. Para quienes estén dispuestos a exponerse a las bondades del control de versiones por primera vez, la más recomendable de estas opciones es sin duda ésta última, por cuanto Subversion es ampliamente considerado como una evolución de natural de las características de CVS que acaba con muchas de sus limitaciones conservando las innegables ventajas del software libre. De hecho CVS, y todo lo relacionado con él en realidad, sólo debería tenerse en cuenta en proyectos heredados donde elegir otra alternativa sea imposible.
Pragmático
Pragmatic Version Control Using Subversion está contenido en poco menos que 200 páginas, lo que debería ser una lectura rápida aún con poco tiempo para dedicarle. El libro cuenta con un estilo narrativo que alterna inicialmente ejemplos del mundo real extraídos del trabajo cotidiano de un equipo de programadores típico y posteriormente recorre toda la información de referencia restante ordenada crecientemente en su complejidad.
Gracias a esa narrativa ágil y amena, y si se destacan por su impaciencia como yo, antes de llegar a la mitad del libro ya estarán comenzando a utilizar las funciones básicas de Subversion y pensando "cómo pude vivir tanto tiempo sin ésto". Si no son como yo, el libro incluye igualmente suficientes ejemplos prácticos sobre las ventajas del uso de Subversion para permitirle llegar a la misma conclusión antes de terminar de leerlo.
Como desarrolladores, nuestro activo más valioso es nuestro propio código. En él está plasmado no sólo nuestra pericia para resolver un problema particular, sino también todo nuestro know-how recopilado hasta ese momento. Poder determinar cómo evolucionó el mismo hasta el preciso instante de producir un pedazo de código determinado nos ayudará a entender también cómo crecimos nosotros como programadores.
Después de un tiempo de usar SVN, éste registro vivo de nuestro trabajo diario será un recurso invaluable por sí solo y una fuente de constante conocimiento y referencia.
Conclusión
Si bien el universo de posiblidades que abre Subversion a la gestión de cualquier tipo de proyectos de software es sin duda mucho más grande del cubierto por este solo libro, otras referencias más completas y detalladas ya no deberían amedrentarnos con su complejidad ni su volumen con los sólidos fundamentos obtenidos en éste.
En resumidas cuentas, un libro con el valor de elevar la productividad de cualquier programador, incluso del más solitario, gracias a las bondades de uno de los mejores sistemas de control de versiones existente. Imprescindible.