La actividad número uno es el control del código fuente. Aquí es donde en lugar de simplemente guardar su código en su Escritorio donde podría perderlo, o al menos olvidar cómo se veía ayer antes de decidir re-factorizar todo y romper todo. Utiliza un sistema de control de código fuente (o ‘gestión de configuración’) para registrar y verificar sus cambios.
Los sistemas de control de código fuente generalmente contienen las siguientes funciones. Entrada / salida de código, Control de versiones, Historial de versiones, ‘Ramificación’, ‘Fusión’ y ‘Vistas’.
Ejemplos clásicos de estos fueron Perforce o ClearCase. ClearCase utilizó el concepto de una ‘especificación de vista’ para presentar diferentes vistas de los mismos archivos fuente a cada usuario (usando un sistema de directorio virtual debajo), y permitir que la ramificación y la fusión sean bastante específicas. Sin embargo, ClearCase solía requerir un equipo de soporte completo para mantenerlo en funcionamiento y estaba muy centralmente controlado.
- ¿Qué herramientas o software de gestión de proyectos usa Spotify, si lo hay?
- Cómo pasar de las pruebas de software al desarrollo, después de más de 4 años en la gestión de datos de prueba
- ¿Cuál es un buen ejemplo de un servicio web eng design doc?
- ¿Qué son los servicios de investigación de fraudes y disputas?
- ¿Qué tan ventajoso es un MS en el campo del desarrollo de software?
Los sistemas más modernos, como Git y SubVersion, ahora son más utilizados y requieren menos infraestructura. Git es el favorito actual y permite a las personas llevar sus propias copias completas del historial de versiones completas, con el inconveniente de que el historial de versiones en cada máquina de los usuarios puede ser diferente (porque los cambios y las fusiones ocurrieron en un orden diferente en cada máquina) y ‘ recoger cerezas ‘pierde mucha historia.
El flujo de trabajo normal en un entorno SCM sería:
Crear proyecto en el sistema SCM.
Revisa
Trabaje localmente, pero regístrese regularmente para permitir el historial y un buen seguimiento de los cambios.
Cada desarrollador o proyecto normalmente trabaja en una rama separada y se fusionará en momentos críticos del proyecto (como al final de un sprint o en preparación para las pruebas de integración).
Ese es un resumen muy breve, estoy seguro de que alguien llegará pronto con una respuesta más completa.