En bref, parce que la fusion est souvent un autre endroit où quelque chose ne va pas, et il suffit de le faire une seule fois pour que les gens aient très peur d’en avoir à nouveau (une fois mordu deux fois, si vous voulez).
Supposons donc que nous travaillons sur un nouvel écran de gestion de compte et qu'il s'avère qu'un bogue a été découvert dans le flux de travail Nouveau compte. OK, nous prenons deux chemins distincts: vous terminez la gestion de compte et je corrige le bogue avec de nouveaux comptes. Puisque nous traitons tous les deux avec des comptes, nous travaillons avec un code très similaire - nous avons peut-être même dû ajuster les mêmes éléments de code.
Nous disposons actuellement de deux versions différentes mais parfaitement opérationnelles du logiciel. Nous avons tous deux validé nos modifications, testé consciencieusement notre code et, indépendamment, nous sommes très confiants d'avoir accompli un travail remarquable. Maintenant quoi?
Eh bien, il est temps de fusionner, mais ... merde, que se passe-t-il maintenant? Nous pourrions très bien passer de deux ensembles de logiciels de travail à un, un logiciel récemment bogué, unifié et horriblement cassé, dans lequel la gestion de votre compte ne fonctionne pas et où les nouveaux comptes sont brisés et je ne sais même pas si l'ancien bogue existe toujours. .
Peut-être que le logiciel était intelligent et qu'il disait qu'il y avait un conflit et insistait pour que nous le guidions. Eh bien, merde - je m'assieds pour le faire et vois que vous avez ajouté un code complexe que je ne comprends pas immédiatement. Je pense que cela entre en conflit avec les modifications que j'ai apportées ... Je vous le demande, et quand vous avez une minute, vous vérifiez et vous voyez mon code que vous ne comprenez pas. Nous devons prendre le temps de nous asseoir, de procéder à une fusion correcte et éventuellement de réessayer le problème pour nous assurer de ne pas le rompre.
En attendant, 8 autres types utilisent tous le même code que les sadiques, j’ai fait quelques petites corrections de bugs et les ai soumises avant que je sache que nous avions un conflit de fusion et il me semble que c’est un bon moment pour faire une pause, et peut-être vous sont partis pour l'après-midi ou coincés dans une réunion ou autre chose. Peut-être que je devrais juste prendre des vacances. Ou changer de carrière.
Et ainsi, pour échapper à ce cauchemar, certaines personnes ont très peur de l'engagement (quoi de neuf, de nouveau?). Nous sommes naturellement peu enclins à prendre des risques dans des scénarios comme celui-ci - à moins que nous ne pensions que nous soyons nuls et que nous allions le gâcher quand même, auquel cas les gens commenceraient à agir avec un abandon inconsidéré. soupir
Alors voilà. Oui, les systèmes modernes sont conçus pour atténuer cette douleur, et il est supposé pouvoir facilement faire marche arrière et se rebaser et se rabaisser, ainsi que la freebase et la hanglide.
Mais tout cela demande plus de travail, et nous voulons simplement appuyer sur le bouton du four à micro-ondes et préparer un repas de 4 plats avant d'avoir le temps de trouver une fourchette. Tout cela semble si insatisfaisant. significatif, mais gérer avec élégance une fusion ne compte tout simplement pas.
En règle générale, les programmeurs doivent développer une excellente mémoire de travail, puis ont tendance à immédiatement oublier tous ces noms de junk et de variable et leur champ d’application dès qu’ils ont résolu le problème, et lorsqu’un conflit de fusion fusion mal gérée) est une invitation à vous rappeler votre mortalité.