Krótko mówiąc, ponieważ łączenie jest często innym miejscem, w którym coś może się nie udać, i musi tylko raz pójść nie tak, aby ludzie bardzo bali się poradzić sobie z tym ponownie (raz ugryziony dwukrotnie, jeśli chcesz).
Załóżmy, że pracujemy nad nowym ekranem zarządzania kontem, i okazuje się, że w przepływie pracy nowego konta wykryto błąd. OK, bierzemy dwie oddzielne ścieżki - kończysz zarządzanie kontem, a ja naprawiam błąd w nowych kontach. Ponieważ oboje mamy do czynienia z kontami, pracowaliśmy z bardzo podobnym kodem - być może musieliśmy nawet dostosować te same fragmenty kodu.
W tej chwili mamy dwie różne, ale w pełni działające wersje oprogramowania. Obaj przeprowadziliśmy zatwierdzenie naszych zmian, oboje sumiennie przetestowaliśmy nasz kod i niezależnie jesteśmy bardzo pewni, że wykonaliśmy świetną robotę. Co teraz?
Czas połączyć się, ale ... cholera, co się teraz stanie? Możemy równie dobrze przejść od dwóch działających zestawów oprogramowania do jednego, zunifikowanego, okropnie zepsutego fragmentu nowo błędnego oprogramowania, w którym zarządzanie kontem nie działa, a nowe konta są zepsute, a ja nawet nie wiem, czy nadal występuje stary błąd .
Być może oprogramowanie było inteligentne i powiedziało, że wystąpił konflikt, i nalegaliśmy, abyśmy udzielili mu wskazówek. Cóż, cholera - siadam, aby to zrobić i widzę, że dodałeś złożony kod, którego od razu nie rozumiem. Myślę, że jest to sprzeczne ze zmianami, które wprowadziłem ... Pytam, a kiedy masz minutę, sprawdzasz i widzisz mój kod, którego nie rozumiesz. Jedno lub oboje z nas musi poświęcić trochę czasu, aby usiąść, odpowiednio przygotować połączenie i być może ponownie przetestować całą sprawę, aby upewnić się, że jej nie złamaliśmy.
Tymczasem 8 innych facetów popełnia kod, tak jak są sadystami, zrobiłem kilka drobnych poprawek i przesłałem je, zanim zdałem sobie sprawę, że mamy konflikt scalania, a mężczyzna z pewnością wydaje się, że to dobry moment na przerwę, a może ty są wolne po południu lub utknęły na spotkaniu lub czymkolwiek. Może powinienem wziąć urlop. Lub zmień kariery.
Aby uciec przed tym koszmarem, niektórzy ludzie bardzo boją się zaangażowania (co nowego, amiright?). Naturalnie ryzykujemy awersję w takich scenariuszach - chyba że uważamy, że jesteśmy do dupy i i tak to spieprzymy, w takim przypadku ludzie zaczną działać z lekkomyślnym porzuceniem. westchnienie
Więc proszę bardzo. Tak, nowoczesne systemy zostały zaprojektowane w celu złagodzenia tego bólu, i powinien on być w stanie łatwo wycofywać się i bazować, obniżać i freebase i hanglide i tak dalej.
Ale to wszystko więcej pracy, a my po prostu chcemy nacisnąć przycisk na kuchence mikrofalowej i zrobić 4-daniowy posiłek, zanim zdążymy znaleźć widelec, i wszystko to wydaje się bardzo niespełnione - kod jest pracą, jest produktywny, jest znaczący, ale z wdziękiem obsługa scalania po prostu się nie liczy.
Programiści z reguły muszą rozwinąć świetną pamięć roboczą, a następnie mają tendencję do natychmiastowego zapominania o wszystkich śmieciach i nazwach zmiennych oraz określaniu zakresu, gdy tylko zakończą problem, i radzą sobie z konfliktem scalania (lub, co gorsza, źle wykonane połączenie) jest zaproszeniem do przypomnienia o twojej śmiertelności.