Repositorios de Código Fuente

Para los que estéis acostumbrados a trabajar en proyectos donde los recursos estén distribuidos geográficamente, en empresas de consultorí­a o en grupos de trabajo de más de dos o tres personas, seguramente tendréis el concepto de Repositorio de Código más que presente. Es más, seguramente no concebiréis el empezar un proyecto sin su existencia. Productos como CVS, Sourcesafe, Subversion… forman parte de vuestro dí­a a dí­a.
En cambio, para profesionales que acaban de salir de la carrera, o para profesionales con años de experiencia pero que trabajan en empresas que desarrollan y gestionan sus propias aplicaciones, en departamentos con pocas personas y con proyectos de no muy grandes dimensiones, el uso de un Repositorio de Código Fuente no es muy comíºn, es más, incluso puede llegar a ser desconocida cuál es su aplicación.
Uno de los principales fines de un Repositorio de Código fuente es el de centralizar en un punto la íºltima versión del código fuente de una aplicación. Soluciones rudimentarias al problema de la centralización utilizan una unidad compartida en la red. Se comparte una carpeta, y todos los miembros del equipo de desarrollo trabajan contra la carpeta que contiene la íºltima versión del código fuente. Esto en principio podrí­a ser válido en equipos pequeños, pero deja de lado otros problemas: ¿qué ocurre si dos personas modifican un mismo archivo al mismo tiempo? ¿qué ocurre con la versión anterior del fichero? ¿y si a mitad de un desarrollo necesito realizar una actualización de la aplicación para solucionar un error, tendré que esperar a cerrar el desarrollo que tengo en curso? Me vienen a la cabeza otras soluciones rudimentarias como… cuando cierro una versión me copio la aplicación a otra carpeta y le pongo que eso es la versión 3.
Son demasiados riesgos teniendo en cuenta que el código fuente son los ladrillos de nuestra aplicación, y sin ladrillos, no hay casa.
Utilizando un repositorio de código fuente podré obtener de forma directa de las siguientes ventajas:
1) Solución al problema de la concurrencia. Que varias personas quieran trabajar con el mismo fichero ya no es problema, el repositorio de codigo me ayudará a evitar errores y a tener un control total.
2) Trazabilidad completa. Voy a poder controlar todas las versiones que se han producido de forma automática para cada una de las modificaciones de un fichero. Podré compararlas entre ellas, conocer la fecha de modificación y su autor. Tengo control sobre el código y los cambios que se producen sobre el mismo.
3) Voy a poder retornar a una versión anterior de la aplicación sin problema, y a partir de dicha versión abrir una nueva rama que difiera de la que se tomó en su momento. Soy capaz de lanzar una actualización de una versión ya cerrada aunque esté a mitad de un desarrollo, y además, hacer que para la nueva versión que estoy preparando dicho error también esté solventado. El repositorio de código me ayudará.
4) Seguridad. Control de acceso al código, sólo usuarios autenticados podrán realizar modificaciones, borrar, crear nuevos ficheros.
Para finalizar, terminar con la reflexión de que mucha gente cree que un repositorio de código no tiene sentido para trabajar con grupos pequeños o desarrollos de una íºnica persona, pero, visto lo visto en el artí­culo, creo que queda bastante claro que la mayor potencia que obtenemos es la trazabilidad, y eso es totalmente independiente al níºmero de personas que trabajen en el proyecto.
Un saludo.
Miguel.

3 thoughts on “Repositorios de Código Fuente”

  1. Hola Miguel, muy bueno el post. Estarí­a bueno que hicieras otro con un review de las mejores opciones para alojar tu repositorio. Yo en mi caso estoy usando Assembla (www.assembla.es)a diferencia de otras opciones es gratuita incluso para proyectos privados.

  2. Estimado! Buen post a modo de información, la sugerencia, solo sería agregarle un parrafo con algunos de los repositorios mas usados en su experiencia, la labor de conocer cada uno, ya quedaria de manos del interesado.
    Gracias !!!
    Elias

  3. Hola,
    El repositorio donde más he trabajado es Team Foundation Server, orientado a desarrollos Microsoft. La principal característica, adicionalmente a la propia gestión del código fuente, es la posibilidad de gestionar la documentación ligada al proyecto, crear una web de proyecto para incorporar noticias, eventos… Además de toda la gestión de tareas asociadas al proyecto.
    Un saludo!
    Miguel.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.