En resumen, porque la fusión es a menudo otro lugar para que algo salga mal, y solo tiene que ir mal una vez para que la gente tenga mucho miedo de lidiar con eso nuevamente (una vez mordida dos veces tímida, por así decirlo). >
Entonces, digamos que estamos trabajando en una nueva pantalla de administración de cuentas, y resulta que hay un error descubierto en el flujo de trabajo de la nueva cuenta. De acuerdo, tomamos dos rutas separadas: finaliza la Administración de cuentas y yo soluciono el error con Cuentas nuevas. Como los dos estamos tratando con cuentas, hemos estado trabajando con un código muy similar, tal vez incluso tuvimos que ajustar las mismas piezas de código.
Ahora, en este momento tenemos dos versiones diferentes pero completamente operativas de software. Ambos nos hemos comprometido con nuestros cambios, ambos hemos probado debidamente nuestro código y, de manera independiente, tenemos mucha confianza en que hemos hecho un trabajo increíble. ¿Y ahora qué?
Bueno, es hora de fusionarse, pero ... mierda, ¿qué pasa ahora? Es muy posible que pasemos de dos conjuntos de software a uno, un software malicioso y unificado, roto de forma incorrecta, en el que la administración de su cuenta no funciona y las cuentas nuevas se rompen, y ni siquiera sé si el antiguo error sigue ahí. .
Tal vez el software era inteligente y dijo que había un conflicto e insistió en que le brindáramos orientación. Bueno, mierda, me siento a hacerlo y veo que has agregado un código complejo que no entiendo de inmediato. Creo que está en conflicto con los cambios que he hecho ... le pregunto, y cuando obtiene un minuto, comprueba y ve mi código que no comprende. Uno o ambos tenemos que tomarnos el tiempo para sentarnos, sacar una combinación adecuada y, posiblemente, volver a probar todo el asunto para asegurarnos de que no lo rompimos.
Mientras que otros 8 tipos están cometiendo código como los sádicos que son, hice algunas correcciones de errores pequeñas y las envié antes de que supiera que teníamos un conflicto de fusión, y parece que es un buen momento para tomar un descanso. y tal vez usted está fuera por la tarde o atascado en una reunión o lo que sea. Tal vez debería tomar unas vacaciones. O cambiar de carrera.
Y así, para escapar de esta pesadilla, algunas personas se han vuelto muy temerosas del compromiso (¿qué más hay de nuevo, en serio?). Naturalmente, somos reacios a los riesgos en situaciones como esta, a menos que pensemos que apestamos y vamos a arruinarlo de todos modos, en cuyo caso las personas comienzan a actuar con un abandono imprudente. sigh
Así que ahí tienes. Sí, los sistemas modernos están diseñados para aliviar este dolor, y se supone que es capaz de retroceder y rebase y desbastar fácilmente, de forma gratuita y de hanglide y todo eso.
Pero es mucho más trabajo, y solo queremos presionar el botón del microondas y tener una comida de 4 platos antes de que tengamos tiempo de encontrar un tenedor, y todo parece muy insatisfactorio: el código es trabajo, es productivo, es significativo, pero manejando con gracia una combinación que solo no cuenta.
Como regla general, los programadores tienen que desarrollar una gran memoria de trabajo y luego tienden a olvidar de inmediato todos los nombres de basura y variables y el alcance cuando terminan el problema, y manejan un conflicto de combinación (o peor aún, una fusión mal manejada) es una invitación a que se te recuerde tu mortalidad.