it-swarm-es.com

¿Cómo se debe almacenar el código en el control de versiones?

¿Cómo se debe almacenar el código en el control de versiones?

Desarrollador amigable? para que el programador pueda tomar rápidamente lo último y poder ejecutarlo desde su editor sin hacer muchos cambios? (como archivos de configuración que apuntan a dev DB..etc)

o

¿Debería ser producción amigable? La fuente debe ser de una manera que sea fácil de implementar en el entorno de producción y cuando el desarrollador toma la última versión, debe realizar cambios según sus necesidades de desarrollo.

19
Pavan G R

Por qué elegir ? Deberían ser ambos.

Su entorno de desarrollo debe estar configurado para que sea tan fácil como realizar un pago, abrir, compilar, ejecutar, depurar (por ejemplo: ¡sin ruta absoluta!). Puede hacerlo fácilmente con directivas de compilación, clase de configuración + inyección de dependencia, o incluso trucos como perso.config en ASP.NET

Su script de compilación automatizado debe personalizarse lo suficiente para encargarse de la configuración de producción específica, limpieza, empaque, etc.

56
user2567

Cuando se trata de un proyecto de código abierto en el que se espera que la gente contribuya, ciertamente optaría por un programa amigable para los desarrolladores.

Mi mayor disgusto por los proyectos de código abierto es que muy raramente el repositorio contiene todas las dependencias necesarias para construir el código (a veces por razones prácticas o legales), pero cuando no lo hacen, algunos ni siquiera se molestan en decirte qué dependencias necesita, o lo que es más importante, qué versión de ellos necesita. (y preferiblemente de dónde conseguirlos)

A veces puede pasar más de medio día buscando y compilando varios otros proyectos para construir el proyecto que busca.

Por supuesto, esto solo es relevante para el desarrollo en Windows.

9
Mark H

Ambos, pero depende de la frecuencia con la que realices tu producción. Para muchas aplicaciones personalizadas, las implementaciones se realizan de forma manual y local. Por otro lado, el desarrollador enviará código constantemente, sin importar cuán pequeño o grande sea el proyecto. En mi opinión, creo que es más importante asegurarse de que el desarrollador pueda usar el control de versiones correctamente, por lo tanto, facilitarles la vida para que tengan tiempo para concentrarse en el código en lugar de encontrar el camino a través del control de versiones.

4
tia

Debe ser amigable con la producción, de lo contrario, es problemático mantener compilaciones automatizadas.

1
sharptooth

Estoy a favor de reducir la fricción para que sea más fácil hacer el trabajo, pero también debes tener en cuenta los modos de falla.

Si la versión del repositorio de origen siempre está configurada para uso en producción, ¿cuál es el resultado de que un desarrollador no se reconfigure antes de ejecutar el sistema? Un desarrollador que ejecuta código en producción.

Independientemente de si existen otros obstáculos en la forma en que el desarrollador realiza cambios aleatorios en la producción, construir en un modo de falla que lo aliente a que suceda parece peligroso.

Sugiero que los valores predeterminados incluidos en el código comprometido siempre sean seguro. Compruebe también los archivos de configuración de producción en el control de fuente, si lo desea, casi siempre lo hago, pero guárdelos en algún lugar "no activo".

1
Bevan

Definitivamente amigable para el desarrollador, con scripts para automatizar cambios para control de calidad y producción.

0
William Payne

Tiendo a luchar por la producción amigable. Mantiene tus construcciones limpias y evita que configuraciones extrañas entren en producción.

0
Mike Clark